Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / whidbey / NetFxQFE / ndp / fx / src / xsp / System / Web / IdleTimeoutMonitor.cs / 1 / IdleTimeoutMonitor.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * Request timeout manager -- implements the request timeout mechanism */ namespace System.Web { using System.Threading; using System.Collections; using System.Web.Hosting; using System.Web.Util; internal class IdleTimeoutMonitor { private TimeSpan _idleTimeout; // the timeout value private DateTime _lastEvent; // idle since this time private Timer _timer; private readonly TimeSpan _timerPeriod = new TimeSpan(0, 0, 30); // 30 secs internal IdleTimeoutMonitor(TimeSpan timeout) { _idleTimeout = timeout; _timer = new Timer(new TimerCallback(this.TimerCompletionCallback), null, _timerPeriod, _timerPeriod); _lastEvent = DateTime.UtcNow; } internal void Stop() { // stop the timer if (_timer != null) { lock (this) { if (_timer != null) { ((IDisposable)_timer).Dispose(); _timer = null; } } } } internal DateTime LastEvent { // thread-safe property get { DateTime t; lock (this) { t = _lastEvent; } return t; } set { lock (this) { _lastEvent = value; } } } private void TimerCompletionCallback(Object state) { // user idle timer to trim the free list of app instanced HttpApplicationFactory.TrimApplicationInstances(); // no idle timeout if (_idleTimeout == TimeSpan.MaxValue) return; // don't do idle timeout if already shutting down if (HostingEnvironment.ShutdownInitiated) return; // check if there are active requests if (HostingEnvironment.BusyCount != 0) return; // check if enough time passed if (DateTime.UtcNow <= LastEvent.Add(_idleTimeout)) return; // check if debugger is attached if (System.Diagnostics.Debugger.IsAttached) return; // shutdown HttpRuntime.SetShutdownReason(ApplicationShutdownReason.IdleTimeout, SR.GetString(SR.Hosting_Env_IdleTimeout)); HostingEnvironment.InitiateShutdown(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* * Request timeout manager -- implements the request timeout mechanism */ namespace System.Web { using System.Threading; using System.Collections; using System.Web.Hosting; using System.Web.Util; internal class IdleTimeoutMonitor { private TimeSpan _idleTimeout; // the timeout value private DateTime _lastEvent; // idle since this time private Timer _timer; private readonly TimeSpan _timerPeriod = new TimeSpan(0, 0, 30); // 30 secs internal IdleTimeoutMonitor(TimeSpan timeout) { _idleTimeout = timeout; _timer = new Timer(new TimerCallback(this.TimerCompletionCallback), null, _timerPeriod, _timerPeriod); _lastEvent = DateTime.UtcNow; } internal void Stop() { // stop the timer if (_timer != null) { lock (this) { if (_timer != null) { ((IDisposable)_timer).Dispose(); _timer = null; } } } } internal DateTime LastEvent { // thread-safe property get { DateTime t; lock (this) { t = _lastEvent; } return t; } set { lock (this) { _lastEvent = value; } } } private void TimerCompletionCallback(Object state) { // user idle timer to trim the free list of app instanced HttpApplicationFactory.TrimApplicationInstances(); // no idle timeout if (_idleTimeout == TimeSpan.MaxValue) return; // don't do idle timeout if already shutting down if (HostingEnvironment.ShutdownInitiated) return; // check if there are active requests if (HostingEnvironment.BusyCount != 0) return; // check if enough time passed if (DateTime.UtcNow <= LastEvent.Add(_idleTimeout)) return; // check if debugger is attached if (System.Diagnostics.Debugger.IsAttached) return; // shutdown HttpRuntime.SetShutdownReason(ApplicationShutdownReason.IdleTimeout, SR.GetString(SR.Hosting_Env_IdleTimeout)); HostingEnvironment.InitiateShutdown(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- followingquery.cs
- DiagnosticTrace.cs
- OperationCanceledException.cs
- LazyInitializer.cs
- SQLUtility.cs
- SimpleHandlerFactory.cs
- FreeFormDragDropManager.cs
- PenThreadWorker.cs
- _Win32.cs
- Int32RectValueSerializer.cs
- ScriptMethodAttribute.cs
- XComponentModel.cs
- MediaPlayer.cs
- Keyboard.cs
- XmlAtomErrorReader.cs
- _CommandStream.cs
- XmlSchemaElement.cs
- ProfilePropertySettings.cs
- WebColorConverter.cs
- MenuCommandsChangedEventArgs.cs
- XmlLanguageConverter.cs
- shaperfactory.cs
- Transform.cs
- CaseStatementSlot.cs
- SystemWebCachingSectionGroup.cs
- Empty.cs
- GroupBoxDesigner.cs
- InputLanguage.cs
- HierarchicalDataBoundControl.cs
- SymDocumentType.cs
- TextBoxAutoCompleteSourceConverter.cs
- ListItemsPage.cs
- XmlSchemaFacet.cs
- ResourceReferenceKeyNotFoundException.cs
- DataTableMapping.cs
- Page.cs
- MsmqChannelListenerBase.cs
- TextCharacters.cs
- ConfigXmlSignificantWhitespace.cs
- SrgsOneOf.cs
- PriorityBinding.cs
- QilIterator.cs
- MailMessageEventArgs.cs
- DocumentOrderComparer.cs
- XmlnsCache.cs
- IISUnsafeMethods.cs
- DataTableNewRowEvent.cs
- __TransparentProxy.cs
- BaseCollection.cs
- PanelStyle.cs
- TextDocumentView.cs
- StateManagedCollection.cs
- AuditLogLocation.cs
- PerformanceCounterPermissionAttribute.cs
- ObjectTag.cs
- XDRSchema.cs
- DataListCommandEventArgs.cs
- FacetValues.cs
- EntityViewGenerationConstants.cs
- DetailsViewInsertedEventArgs.cs
- WebAdminConfigurationHelper.cs
- DataGridViewCheckBoxColumn.cs
- GeneralTransformGroup.cs
- DataGridColumnHeadersPresenter.cs
- XmlCharCheckingWriter.cs
- DBCSCodePageEncoding.cs
- ResourceDescriptionAttribute.cs
- ControlParser.cs
- EventDescriptor.cs
- FileDialog.cs
- BaseAsyncResult.cs
- ElementHost.cs
- HandlerBase.cs
- ScriptingScriptResourceHandlerSection.cs
- ReadOnlyKeyedCollection.cs
- SqlCacheDependency.cs
- DispatcherHooks.cs
- Rights.cs
- ConfigurationManagerHelperFactory.cs
- UrlMappingsModule.cs
- LongTypeConverter.cs
- TrustManagerPromptUI.cs
- AsynchronousChannelMergeEnumerator.cs
- FeatureSupport.cs
- DateTimeConstantAttribute.cs
- FixedBufferAttribute.cs
- EntityWrapperFactory.cs
- ChangesetResponse.cs
- BitmapMetadata.cs
- Condition.cs
- StringCollectionMarkupSerializer.cs
- SchemaImporterExtensionsSection.cs
- EventLogLink.cs
- ListView.cs
- HitTestParameters.cs
- IRCollection.cs
- BufferModesCollection.cs
- MarkupExtensionParser.cs
- EpmCustomContentSerializer.cs
- TypeDescriptor.cs