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
- ObjectFullSpanRewriter.cs
- ApplicationManager.cs
- ManagementOperationWatcher.cs
- HMACSHA512.cs
- GeometryValueSerializer.cs
- CodeCompiler.cs
- WebHeaderCollection.cs
- HitTestFilterBehavior.cs
- SQLInt64Storage.cs
- XsdBuildProvider.cs
- NameSpaceExtractor.cs
- SqlClientPermission.cs
- WSFederationHttpSecurityMode.cs
- Certificate.cs
- StringValidator.cs
- CustomAttribute.cs
- PenCursorManager.cs
- AdornedElementPlaceholder.cs
- Base64WriteStateInfo.cs
- MatchingStyle.cs
- SubclassTypeValidatorAttribute.cs
- SizeChangedInfo.cs
- EmbossBitmapEffect.cs
- XmlAttributeOverrides.cs
- Baml6ConstructorInfo.cs
- DetailsViewUpdateEventArgs.cs
- ToolbarAUtomationPeer.cs
- EntityDesignerBuildProvider.cs
- EastAsianLunisolarCalendar.cs
- EventData.cs
- HostExecutionContextManager.cs
- TriggerBase.cs
- ApplicationServicesHostFactory.cs
- MarkupObject.cs
- InternalsVisibleToAttribute.cs
- StronglyTypedResourceBuilder.cs
- Pool.cs
- OracleNumber.cs
- HotSpot.cs
- DbXmlEnabledProviderManifest.cs
- EventMappingSettings.cs
- GridViewRowPresenterBase.cs
- BuildManager.cs
- InternalConfigRoot.cs
- DataStorage.cs
- SecurityUtils.cs
- RemoteHelper.cs
- BinaryHeap.cs
- RequiredFieldValidator.cs
- hresults.cs
- RefreshPropertiesAttribute.cs
- Converter.cs
- MetadataArtifactLoaderResource.cs
- WebAdminConfigurationHelper.cs
- Color.cs
- Misc.cs
- AppDomainFactory.cs
- CanonicalFontFamilyReference.cs
- RuleAction.cs
- TreeIterators.cs
- X509ClientCertificateAuthentication.cs
- MemoryMappedViewAccessor.cs
- SerializationInfo.cs
- ToolStripPanelSelectionGlyph.cs
- TextParagraph.cs
- EventRecord.cs
- ProfilePropertySettings.cs
- PageStatePersister.cs
- SortedDictionary.cs
- DataGridViewAutoSizeColumnModeEventArgs.cs
- MultiAsyncResult.cs
- ResourcePermissionBaseEntry.cs
- TypeName.cs
- QuaternionValueSerializer.cs
- PolygonHotSpot.cs
- Component.cs
- AncillaryOps.cs
- ZoneLinkButton.cs
- RightsManagementInformation.cs
- JournalNavigationScope.cs
- HttpVersion.cs
- System.Data_BID.cs
- SqlUnionizer.cs
- XmlnsCompatibleWithAttribute.cs
- DynamicILGenerator.cs
- DocumentApplicationJournalEntry.cs
- TypeConverterAttribute.cs
- CalendarDesigner.cs
- _Events.cs
- JavascriptCallbackMessageInspector.cs
- FormViewDeletedEventArgs.cs
- Monitor.cs
- RoutedEvent.cs
- HttpsTransportBindingElement.cs
- PropertyGridCommands.cs
- ObjectDataSourceEventArgs.cs
- ValueConversionAttribute.cs
- TextServicesManager.cs
- DoubleLinkListEnumerator.cs
- SamlSubject.cs