Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / 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
- DocumentPropertiesDialog.cs
- ReflectEventDescriptor.cs
- MobileErrorInfo.cs
- XmlSchemaAll.cs
- _LoggingObject.cs
- StickyNoteAnnotations.cs
- XamlWriter.cs
- Int32Storage.cs
- DeclarativeCatalogPartDesigner.cs
- InteropAutomationProvider.cs
- CircleHotSpot.cs
- OuterGlowBitmapEffect.cs
- PerfCounterSection.cs
- ConfigurationManagerInternal.cs
- CodeArrayIndexerExpression.cs
- SymbolMethod.cs
- DetailsViewDeleteEventArgs.cs
- ISFTagAndGuidCache.cs
- BuildProviderAppliesToAttribute.cs
- RepeaterItemCollection.cs
- KeyConstraint.cs
- ReplacementText.cs
- ScriptModule.cs
- LayoutDump.cs
- lengthconverter.cs
- MenuItemBindingCollection.cs
- LinkedList.cs
- SetterBase.cs
- PassportPrincipal.cs
- TileModeValidation.cs
- CompositeFontFamily.cs
- XslCompiledTransform.cs
- RegistrationProxy.cs
- ClientRolePrincipal.cs
- DataGridPagingPage.cs
- ProgressBarAutomationPeer.cs
- HMACMD5.cs
- DataKeyCollection.cs
- RunWorkerCompletedEventArgs.cs
- CommandLibraryHelper.cs
- NTAccount.cs
- WebPartTransformer.cs
- GeneralTransform3DTo2DTo3D.cs
- MsmqIntegrationReceiveParameters.cs
- CDSsyncETWBCLProvider.cs
- ProgressBar.cs
- ConvertersCollection.cs
- AutoResizedEvent.cs
- DirtyTextRange.cs
- TreeBuilderXamlTranslator.cs
- InkCanvasInnerCanvas.cs
- CollectionBuilder.cs
- TypeExtensionConverter.cs
- OutputCacheSection.cs
- CatalogPart.cs
- HttpStreamMessage.cs
- RelOps.cs
- PopOutPanel.cs
- Interop.cs
- DNS.cs
- DataComponentNameHandler.cs
- EventNotify.cs
- RowToFieldTransformer.cs
- TagMapInfo.cs
- BinaryConverter.cs
- NativeRightsManagementAPIsStructures.cs
- ObjectConverter.cs
- ForceCopyBuildProvider.cs
- SecUtil.cs
- TableDetailsCollection.cs
- RoleGroup.cs
- DrawingImage.cs
- CodeGeneratorOptions.cs
- StreamAsIStream.cs
- Drawing.cs
- FunctionParameter.cs
- CircleHotSpot.cs
- SiteMap.cs
- DataGridViewColumnDesigner.cs
- TextRangeEditTables.cs
- WindowsUpDown.cs
- DependentTransaction.cs
- PreservationFileWriter.cs
- ColorDialog.cs
- IPEndPointCollection.cs
- TextPointer.cs
- DataServiceKeyAttribute.cs
- SplitterPanelDesigner.cs
- XmlCollation.cs
- DataListAutoFormat.cs
- GridSplitterAutomationPeer.cs
- Mappings.cs
- PowerModeChangedEventArgs.cs
- Size3D.cs
- SqlTriggerAttribute.cs
- CompilerParameters.cs
- WebPartEventArgs.cs
- DocumentAutomationPeer.cs
- OleDbMetaDataFactory.cs
- COM2Properties.cs