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
- BaseCollection.cs
- Select.cs
- WhitespaceRuleReader.cs
- CultureInfoConverter.cs
- OleAutBinder.cs
- SafeNativeMethods.cs
- ObjectDisposedException.cs
- OleDbTransaction.cs
- DefaultAutoFieldGenerator.cs
- PropertyDescriptorComparer.cs
- SqlInfoMessageEvent.cs
- _HelperAsyncResults.cs
- XsdValidatingReader.cs
- AppDomainUnloadedException.cs
- LambdaSerializationException.cs
- ByeOperation11AsyncResult.cs
- Highlights.cs
- CodeMethodReturnStatement.cs
- EmbeddedMailObjectsCollection.cs
- PointAnimationUsingKeyFrames.cs
- WebPageTraceListener.cs
- MimeTypeMapper.cs
- CryptoKeySecurity.cs
- DesigntimeLicenseContext.cs
- GroupStyle.cs
- HttpInputStream.cs
- DesignerEventService.cs
- ExpressionNode.cs
- SoapTransportImporter.cs
- DispatchWrapper.cs
- CompilerCollection.cs
- TextServicesContext.cs
- BCLDebug.cs
- TagNameToTypeMapper.cs
- SqlBuilder.cs
- Compiler.cs
- SqlTriggerContext.cs
- UrlMappingsModule.cs
- HttpListener.cs
- DtrList.cs
- Double.cs
- MarshalByRefObject.cs
- COSERVERINFO.cs
- MenuStrip.cs
- CodeMemberEvent.cs
- ViewManagerAttribute.cs
- DataGridViewCellCollection.cs
- OracleDataReader.cs
- Tokenizer.cs
- NavigationFailedEventArgs.cs
- SettingsPropertyValueCollection.cs
- IndexExpression.cs
- StringUtil.cs
- OperatingSystemVersionCheck.cs
- WorkItem.cs
- RepeaterDesigner.cs
- RootProfilePropertySettingsCollection.cs
- SelectionRange.cs
- ResourceReferenceExpression.cs
- CodeGotoStatement.cs
- LinearGradientBrush.cs
- OleCmdHelper.cs
- EventLogEntry.cs
- ServicePointManagerElement.cs
- XmlArrayAttribute.cs
- ListViewGroupItemCollection.cs
- DeploymentExceptionMapper.cs
- ListViewUpdateEventArgs.cs
- PrimitiveCodeDomSerializer.cs
- Transform.cs
- DocumentEventArgs.cs
- XamlLoadErrorInfo.cs
- StylusPointDescription.cs
- File.cs
- MimeParameter.cs
- SessionStateUtil.cs
- AppDomain.cs
- DataFieldEditor.cs
- TabControlCancelEvent.cs
- SortExpressionBuilder.cs
- SafeCoTaskMem.cs
- WebPartMovingEventArgs.cs
- HtmlAnchor.cs
- TreeViewItem.cs
- ExtendedPropertyInfo.cs
- ContractComponent.cs
- BrushMappingModeValidation.cs
- StringFreezingAttribute.cs
- SiteMapDataSourceView.cs
- XmlObjectSerializerWriteContext.cs
- HotSpotCollection.cs
- WebPartsPersonalizationAuthorization.cs
- FtpWebRequest.cs
- KeyValueSerializer.cs
- ExtensionDataObject.cs
- RegisteredArrayDeclaration.cs
- ZipIOExtraFieldZip64Element.cs
- ExpressionSelection.cs
- MimeFormatter.cs
- OdbcError.cs