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
- Column.cs
- Base64Decoder.cs
- CodeStatement.cs
- DataSvcMapFile.cs
- StreamingContext.cs
- NoClickablePointException.cs
- ProfileSettingsCollection.cs
- SQLBytesStorage.cs
- Metafile.cs
- LateBoundBitmapDecoder.cs
- LifetimeServices.cs
- CancelAsyncOperationRequest.cs
- HMACSHA1.cs
- PriorityBinding.cs
- Int32CollectionValueSerializer.cs
- HostingEnvironmentSection.cs
- HtmlInputImage.cs
- EtwProvider.cs
- RichTextBox.cs
- SystemBrushes.cs
- Tracer.cs
- SignerInfo.cs
- ConsoleKeyInfo.cs
- DataException.cs
- MissingMemberException.cs
- CreateSequenceResponse.cs
- Activation.cs
- FileLoadException.cs
- FastEncoderWindow.cs
- ExpressionBuilder.cs
- DbgCompiler.cs
- GridViewColumnHeader.cs
- LogLogRecordEnumerator.cs
- SuppressIldasmAttribute.cs
- DataBinding.cs
- FreezableDefaultValueFactory.cs
- RelationshipManager.cs
- WinEventQueueItem.cs
- userdatakeys.cs
- GlyphInfoList.cs
- ResolveCompletedEventArgs.cs
- TextParagraphCache.cs
- WebServiceTypeData.cs
- ExpandableObjectConverter.cs
- UIElementParagraph.cs
- log.cs
- iisPickupDirectory.cs
- Property.cs
- LabelDesigner.cs
- SessionEndedEventArgs.cs
- DataGridViewCellValueEventArgs.cs
- GeneralTransformGroup.cs
- SessionParameter.cs
- DrawingCollection.cs
- PreviewPageInfo.cs
- OracleRowUpdatingEventArgs.cs
- StrokeCollectionDefaultValueFactory.cs
- Slider.cs
- ClientScriptManager.cs
- FormViewDeleteEventArgs.cs
- NativeRecognizer.cs
- WorkflowMarkupSerializationProvider.cs
- Condition.cs
- BitmapFrameDecode.cs
- BrowserInteropHelper.cs
- DataViewSettingCollection.cs
- NetworkInformationException.cs
- DotExpr.cs
- SQLMembershipProvider.cs
- MasterPageParser.cs
- CacheAxisQuery.cs
- OutOfMemoryException.cs
- EventHandlersStore.cs
- ServiceReflector.cs
- SessionEndingCancelEventArgs.cs
- HotSpotCollection.cs
- IdleTimeoutMonitor.cs
- GenericUriParser.cs
- relpropertyhelper.cs
- DataGridRelationshipRow.cs
- IPHostEntry.cs
- ApplicationDirectory.cs
- FontStretchConverter.cs
- PackageRelationship.cs
- UrlMappingsSection.cs
- CompiledQuery.cs
- SqlExpander.cs
- HMACSHA512.cs
- TabItemAutomationPeer.cs
- ProtocolsConfigurationHandler.cs
- BaseCodePageEncoding.cs
- Header.cs
- Dump.cs
- ConnectorEditor.cs
- FormsAuthenticationModule.cs
- ExceptionWrapper.cs
- BufferedStream.cs
- Form.cs
- IndicShape.cs
- WorkflowItemsPresenter.cs