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
- ExceptionHelpers.cs
- _Connection.cs
- DeploymentExceptionMapper.cs
- followingsibling.cs
- ProcessThread.cs
- SqlTransaction.cs
- TriggerAction.cs
- DtdParser.cs
- PointCollectionConverter.cs
- WindowsFormsSynchronizationContext.cs
- EditorZone.cs
- ScaleTransform.cs
- TypeLoadException.cs
- PolicyUnit.cs
- MediaContext.cs
- TreeNode.cs
- ExtendedProtectionPolicyTypeConverter.cs
- ControlParameter.cs
- SQLDecimal.cs
- _LoggingObject.cs
- BaseResourcesBuildProvider.cs
- versioninfo.cs
- XslException.cs
- FileDialogCustomPlace.cs
- LocalizableAttribute.cs
- NumberFunctions.cs
- DataPointer.cs
- ResourceManager.cs
- ScaleTransform.cs
- MethodExpr.cs
- TextRangeBase.cs
- SocketConnection.cs
- CatalogPart.cs
- formatter.cs
- Subset.cs
- FaultContractInfo.cs
- InheritanceAttribute.cs
- TcpConnectionPool.cs
- DiscoveryClientProtocol.cs
- Point3DKeyFrameCollection.cs
- AudienceUriMode.cs
- CheckBox.cs
- CfgSemanticTag.cs
- mansign.cs
- HotSpotCollection.cs
- AssemblyResourceLoader.cs
- TokenBasedSetEnumerator.cs
- CacheManager.cs
- CursorConverter.cs
- TextContainerChangeEventArgs.cs
- SafeHandles.cs
- Row.cs
- FacetChecker.cs
- DependencyObjectProvider.cs
- Zone.cs
- OwnerDrawPropertyBag.cs
- ValidationSummary.cs
- DesignTimeSiteMapProvider.cs
- FlowSwitch.cs
- XmlSerializerSection.cs
- RuleRefElement.cs
- SqlClientWrapperSmiStream.cs
- TaskFactory.cs
- DBBindings.cs
- LogSwitch.cs
- SqlPersonalizationProvider.cs
- ParseHttpDate.cs
- ColumnTypeConverter.cs
- ListBindableAttribute.cs
- RepeatInfo.cs
- ValidationSummary.cs
- TypeReference.cs
- EFColumnProvider.cs
- XmlTypeAttribute.cs
- SocketElement.cs
- WebResourceAttribute.cs
- WebZone.cs
- XmlComment.cs
- WinFormsUtils.cs
- CheckBoxDesigner.cs
- DataGridCommandEventArgs.cs
- EntityCommand.cs
- Command.cs
- StringConcat.cs
- ObjectDataSourceFilteringEventArgs.cs
- RsaSecurityToken.cs
- PartialClassGenerationTask.cs
- MappingSource.cs
- ToolbarAUtomationPeer.cs
- graph.cs
- ExpressionBindingCollection.cs
- DbgUtil.cs
- SchemaNames.cs
- BuildResultCache.cs
- ToolStripManager.cs
- PiiTraceSource.cs
- StringWriter.cs
- GridViewColumnHeaderAutomationPeer.cs
- TextTreeNode.cs
- MeasureData.cs