Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / untmp / whidbey / QFE / 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; // if (HostingEnvironment.BusyCount != 0) return; // if (DateTime.UtcNow <= LastEvent.Add(_idleTimeout)) return; // 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CustomErrorCollection.cs
- BitmapPalette.cs
- ConfigurationLocation.cs
- DispatcherHooks.cs
- FixedStringLookup.cs
- Aes.cs
- SqlTypeConverter.cs
- PartialClassGenerationTask.cs
- SetterTriggerConditionValueConverter.cs
- TypeLoadException.cs
- EntityDataSourceEntitySetNameItem.cs
- SafeProcessHandle.cs
- SpellerError.cs
- BaseDataList.cs
- localization.cs
- RootBuilder.cs
- ObjectKeyFrameCollection.cs
- ObjectToken.cs
- DataGridViewRowHeaderCell.cs
- OneWayBindingElementImporter.cs
- LoggedException.cs
- TabItem.cs
- GroupDescription.cs
- ConditionCollection.cs
- ComponentEvent.cs
- RequestSecurityTokenForGetBrowserToken.cs
- ConfigurationSchemaErrors.cs
- XamlStream.cs
- Object.cs
- ViewStateModeByIdAttribute.cs
- SchemaEntity.cs
- GridItem.cs
- QilValidationVisitor.cs
- NamedObject.cs
- Knowncolors.cs
- XPathItem.cs
- SQLInt16.cs
- ErrorFormatter.cs
- COAUTHINFO.cs
- CodeStatement.cs
- SharedUtils.cs
- InputScopeConverter.cs
- ErrorFormatterPage.cs
- DataBinding.cs
- WebPartConnectionsConnectVerb.cs
- LogPolicy.cs
- SoapInteropTypes.cs
- ConfigurationManagerInternal.cs
- XmlAnyElementAttribute.cs
- HtmlProps.cs
- SqlCachedBuffer.cs
- VirtualPathProvider.cs
- HMACSHA512.cs
- PassportPrincipal.cs
- x509utils.cs
- DebugHandleTracker.cs
- DefaultSerializationProviderAttribute.cs
- PropertyChangedEventArgs.cs
- CodeTypeDelegate.cs
- SemaphoreFullException.cs
- TextPenaltyModule.cs
- MimeWriter.cs
- FixedSOMTable.cs
- DataMemberAttribute.cs
- BindingSource.cs
- SerializationObjectManager.cs
- HandleRef.cs
- TcpPortSharing.cs
- ReadContentAsBinaryHelper.cs
- SoapWriter.cs
- ViewStateException.cs
- Timer.cs
- DataGridViewAccessibleObject.cs
- BitmapDownload.cs
- RuleSetDialog.cs
- WorkflowPageSetupDialog.cs
- XamlFrame.cs
- PerformanceCounterPermission.cs
- MaxValueConverter.cs
- HMAC.cs
- Types.cs
- Frame.cs
- BigInt.cs
- RemoteWebConfigurationHostServer.cs
- MaterializeFromAtom.cs
- WebAdminConfigurationHelper.cs
- XmlSchemaParticle.cs
- PromptStyle.cs
- BufferedGraphics.cs
- KeyValuePairs.cs
- Transform.cs
- PolicyUtility.cs
- WmlPageAdapter.cs
- dbenumerator.cs
- LogConverter.cs
- SecurityTokenValidationException.cs
- Process.cs
- UITypeEditor.cs
- CodeGenerator.cs
- PolicyException.cs