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
- CombinedGeometry.cs
- TextEditorSpelling.cs
- InternalBufferOverflowException.cs
- BitmapEffectGroup.cs
- LinkedList.cs
- SoapHttpTransportImporter.cs
- Rotation3DKeyFrameCollection.cs
- ToolStripPanelRenderEventArgs.cs
- XmlSerializerOperationGenerator.cs
- PreviewKeyDownEventArgs.cs
- NullRuntimeConfig.cs
- PersonalizationDictionary.cs
- CompositeActivityValidator.cs
- XPathDocumentIterator.cs
- HttpCacheVary.cs
- XmlBinaryReaderSession.cs
- RoleManagerSection.cs
- ZipPackage.cs
- State.cs
- AssemblyBuilder.cs
- CodeSnippetExpression.cs
- EmptyEnumerable.cs
- CardSpaceException.cs
- TextSchema.cs
- XmlHierarchyData.cs
- SortKey.cs
- StringSource.cs
- ScalarType.cs
- RuntimeResourceSet.cs
- RuntimeConfigurationRecord.cs
- ItemDragEvent.cs
- MaskPropertyEditor.cs
- IfJoinedCondition.cs
- SqlDataSourceFilteringEventArgs.cs
- ToolStripSeparatorRenderEventArgs.cs
- WindowsFormsSectionHandler.cs
- SByte.cs
- ServiceHttpHandlerFactory.cs
- JsonByteArrayDataContract.cs
- GenericTypeParameterBuilder.cs
- DocumentOrderQuery.cs
- ResourceContainerWrapper.cs
- Rules.cs
- NotifyParentPropertyAttribute.cs
- HtmlLink.cs
- OutKeywords.cs
- ThicknessAnimationBase.cs
- SelectionPattern.cs
- IFlowDocumentViewer.cs
- XmlTextReaderImplHelpers.cs
- XmlHierarchicalEnumerable.cs
- MailDefinition.cs
- Privilege.cs
- CodePageEncoding.cs
- _NTAuthentication.cs
- UserControlBuildProvider.cs
- ObjectStateEntry.cs
- TagMapInfo.cs
- RecognitionResult.cs
- PkcsUtils.cs
- PerfCounters.cs
- StringAttributeCollection.cs
- _NTAuthentication.cs
- XmlEncoding.cs
- PrintPreviewDialog.cs
- ScaleTransform3D.cs
- DataObjectMethodAttribute.cs
- assemblycache.cs
- TextSyndicationContent.cs
- WebReferencesBuildProvider.cs
- AssemblyInfo.cs
- PageParserFilter.cs
- EnterpriseServicesHelper.cs
- MobileResource.cs
- ConfigUtil.cs
- MissingMethodException.cs
- SyndicationDeserializer.cs
- TreeIterator.cs
- RangeValuePattern.cs
- UserControlDocumentDesigner.cs
- QueryOperatorEnumerator.cs
- XPathNodeHelper.cs
- XmlValueConverter.cs
- EmbeddedMailObjectsCollection.cs
- CalendarButtonAutomationPeer.cs
- ManagementQuery.cs
- ToolStripPanelCell.cs
- HttpProfileBase.cs
- JsonClassDataContract.cs
- QilFunction.cs
- DataControlImageButton.cs
- CompilationLock.cs
- ClosureBinding.cs
- Emitter.cs
- ExpressionConverter.cs
- ParameterBuilder.cs
- HttpCachePolicy.cs
- OuterGlowBitmapEffect.cs
- WebBrowserPermission.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs