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
- ContainerParagraph.cs
- ReadOnlyCollectionBase.cs
- DBCSCodePageEncoding.cs
- DataRecordInternal.cs
- Point.cs
- MouseActionValueSerializer.cs
- FastEncoderWindow.cs
- AgileSafeNativeMemoryHandle.cs
- figurelength.cs
- Matrix.cs
- CodeObject.cs
- DataServiceConfiguration.cs
- GlyphTypeface.cs
- DrawingAttributesDefaultValueFactory.cs
- PartialTrustHelpers.cs
- TextureBrush.cs
- MtomMessageEncodingBindingElement.cs
- BitmapData.cs
- CompiledAction.cs
- WindowsSpinner.cs
- NavigationWindowAutomationPeer.cs
- SmtpLoginAuthenticationModule.cs
- HierarchicalDataBoundControl.cs
- DataRelationPropertyDescriptor.cs
- Panel.cs
- MarkedHighlightComponent.cs
- ProfilePropertySettings.cs
- SvcMapFileSerializer.cs
- MatrixConverter.cs
- BasicHttpBinding.cs
- GridPatternIdentifiers.cs
- CodeConditionStatement.cs
- SecurityPolicySection.cs
- CheckBoxBaseAdapter.cs
- TextRangeEdit.cs
- CompilationUtil.cs
- Expressions.cs
- SwitchExpression.cs
- ServiceControllerDesigner.cs
- XmlUrlResolver.cs
- Qualifier.cs
- Stack.cs
- DummyDataSource.cs
- DesignOnlyAttribute.cs
- NullExtension.cs
- StaticFileHandler.cs
- DataGridViewRowContextMenuStripNeededEventArgs.cs
- ConsoleTraceListener.cs
- DataServiceRequest.cs
- ProcessStartInfo.cs
- WsatAdminException.cs
- SqlInternalConnectionSmi.cs
- CodeMemberMethod.cs
- CodeNamespace.cs
- LocationChangedEventArgs.cs
- TypeNameConverter.cs
- EntityDataSourceColumn.cs
- XPathDocumentNavigator.cs
- SqlDataReader.cs
- DbConnectionHelper.cs
- SchemaConstraints.cs
- WebHttpEndpointElement.cs
- RoutedEvent.cs
- ContentFilePart.cs
- ConfigurationSection.cs
- EncoderFallback.cs
- SoapSchemaMember.cs
- ProgressBarAutomationPeer.cs
- UIPropertyMetadata.cs
- UIServiceHelper.cs
- WindowsSysHeader.cs
- PinnedBufferMemoryStream.cs
- Win32MouseDevice.cs
- CellConstantDomain.cs
- HttpCookie.cs
- FormatVersion.cs
- UpdateProgress.cs
- ClientSettingsSection.cs
- TimeIntervalCollection.cs
- sortedlist.cs
- Point3DConverter.cs
- SID.cs
- BeginCreateSecurityTokenRequest.cs
- EntityCollectionChangedParams.cs
- Types.cs
- ImageMapEventArgs.cs
- ParentUndoUnit.cs
- Span.cs
- TextElement.cs
- X500Name.cs
- LayoutEngine.cs
- BindableAttribute.cs
- InputBuffer.cs
- ErrorRuntimeConfig.cs
- InputProcessorProfiles.cs
- ListControlBuilder.cs
- mediaeventargs.cs
- DataGridCommandEventArgs.cs
- TextBoxAutomationPeer.cs
- XmlReflectionMember.cs