Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / IdleTimeoutMonitor.cs / 1305376 / 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.InitiateShutdownWithoutDemand(); } } } // 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
- WebPartDisplayModeCancelEventArgs.cs
- UriParserTemplates.cs
- ReceiveParametersContent.cs
- ListViewItemSelectionChangedEvent.cs
- _ConnectionGroup.cs
- ControlBuilder.cs
- DataGrid.cs
- NamespaceMapping.cs
- XmlCodeExporter.cs
- OleDbCommand.cs
- ListParagraph.cs
- __FastResourceComparer.cs
- DataGridColumnHeaderAutomationPeer.cs
- controlskin.cs
- VisualStyleElement.cs
- ISAPIApplicationHost.cs
- SwitchAttribute.cs
- ListViewItem.cs
- EntityDataSourceColumn.cs
- ServiceHandle.cs
- Content.cs
- MethodCallTranslator.cs
- StorageConditionPropertyMapping.cs
- InputBuffer.cs
- DiscreteKeyFrames.cs
- DocumentApplicationJournalEntry.cs
- HostingPreferredMapPath.cs
- DataRowView.cs
- StyleBamlRecordReader.cs
- XmlUtil.cs
- HttpListenerException.cs
- MsmqTransportReceiveParameters.cs
- SuppressMergeCheckAttribute.cs
- OleDbEnumerator.cs
- FixedPageProcessor.cs
- SqlEnums.cs
- ThemeInfoAttribute.cs
- PagesSection.cs
- BaseProcessor.cs
- OdbcConnectionString.cs
- WindowsSolidBrush.cs
- ButtonAutomationPeer.cs
- MetadataArtifactLoaderCompositeResource.cs
- BaseCodePageEncoding.cs
- EncoderFallback.cs
- TriState.cs
- QilInvokeEarlyBound.cs
- AssemblyNameProxy.cs
- ObjectIDGenerator.cs
- PerformanceCountersElement.cs
- SchemaImporterExtension.cs
- PlanCompilerUtil.cs
- BamlBinaryWriter.cs
- connectionpool.cs
- XhtmlBasicLinkAdapter.cs
- CodeCastExpression.cs
- XMLSchema.cs
- UnsettableComboBox.cs
- DataGridBoolColumn.cs
- SafeViewOfFileHandle.cs
- TextTabProperties.cs
- EntityDataSourceMemberPath.cs
- ScriptHandlerFactory.cs
- OSEnvironmentHelper.cs
- OletxVolatileEnlistment.cs
- XmlLanguage.cs
- RelativeSource.cs
- HandoffBehavior.cs
- DataGridViewColumnEventArgs.cs
- InputLanguageSource.cs
- UnaryExpression.cs
- SupportingTokenListenerFactory.cs
- DelegatingConfigHost.cs
- Style.cs
- StreamResourceInfo.cs
- FormViewDeleteEventArgs.cs
- AstNode.cs
- MetadataCollection.cs
- AnnotationStore.cs
- UpdateException.cs
- Choices.cs
- DbCommandTree.cs
- XmlDataSourceDesigner.cs
- ByteStreamGeometryContext.cs
- PlainXmlDeserializer.cs
- ListInitExpression.cs
- streamingZipPartStream.cs
- DBCommandBuilder.cs
- SecurityUtils.cs
- DataGridComponentEditor.cs
- SoapCommonClasses.cs
- ImmutableObjectAttribute.cs
- CacheMemory.cs
- METAHEADER.cs
- ConnectionManagementElementCollection.cs
- DigestTraceRecordHelper.cs
- MediaContext.cs
- NamespaceList.cs
- WinFormsComponentEditor.cs
- RsaSecurityToken.cs