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
- SystemIcmpV6Statistics.cs
- SmiContextFactory.cs
- VisualProxy.cs
- MenuCommands.cs
- MarkupProperty.cs
- DataGridViewTextBoxEditingControl.cs
- ProcessHostServerConfig.cs
- BypassElementCollection.cs
- _SSPISessionCache.cs
- PeerSecurityManager.cs
- MachineKeyConverter.cs
- fixedPageContentExtractor.cs
- VectorConverter.cs
- DBConnectionString.cs
- AssemblyInfo.cs
- XamlRtfConverter.cs
- ListDictionaryInternal.cs
- TextEditorCharacters.cs
- ExceptionDetail.cs
- NullPackagingPolicy.cs
- TrustVersion.cs
- Attributes.cs
- figurelengthconverter.cs
- ExpandSegment.cs
- PointAnimationBase.cs
- HyperlinkAutomationPeer.cs
- MenuScrollingVisibilityConverter.cs
- DataTemplateKey.cs
- RC2CryptoServiceProvider.cs
- InputBinding.cs
- codemethodreferenceexpression.cs
- AppDomainUnloadedException.cs
- GC.cs
- DynamicQueryableWrapper.cs
- SequentialUshortCollection.cs
- ContainerParaClient.cs
- FileNotFoundException.cs
- SessionStateContainer.cs
- Number.cs
- RectValueSerializer.cs
- configsystem.cs
- infer.cs
- SystemException.cs
- BufferModesCollection.cs
- TreePrinter.cs
- WebPartConnectionsCancelVerb.cs
- RegionInfo.cs
- LinqDataSourceStatusEventArgs.cs
- WindowsUpDown.cs
- RemotingHelper.cs
- Pkcs9Attribute.cs
- ProcessModelInfo.cs
- DBNull.cs
- TimeSpanParse.cs
- IPAddress.cs
- DynamicResourceExtension.cs
- FontNamesConverter.cs
- ServiceObjectContainer.cs
- CodeNamespaceCollection.cs
- MLangCodePageEncoding.cs
- CompatibleComparer.cs
- designeractionlistschangedeventargs.cs
- Operator.cs
- ExtendedPropertyCollection.cs
- SoapIgnoreAttribute.cs
- ReturnEventArgs.cs
- ToolStripMenuItem.cs
- SamlSubjectStatement.cs
- TypeUnloadedException.cs
- ScriptControlDescriptor.cs
- CopyOfAction.cs
- RSAPKCS1KeyExchangeFormatter.cs
- FontFamily.cs
- CultureTableRecord.cs
- ToolStripDropDownItemDesigner.cs
- SR.cs
- Size.cs
- UInt32Storage.cs
- DocumentPage.cs
- FactoryMaker.cs
- TemplatedMailWebEventProvider.cs
- COM2PropertyPageUITypeConverter.cs
- FamilyCollection.cs
- DataMemberConverter.cs
- TextRunCacheImp.cs
- GridEntry.cs
- Pkcs7Recipient.cs
- FileEnumerator.cs
- OptionUsage.cs
- StorageRoot.cs
- ServiceDefaults.cs
- XslAst.cs
- HashCodeCombiner.cs
- VisualTarget.cs
- TaskDesigner.cs
- MessageQueueEnumerator.cs
- WmpBitmapEncoder.cs
- TreeNodeStyle.cs
- elementinformation.cs
- LicenseProviderAttribute.cs