Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / TimeoutStream.cs / 1 / TimeoutStream.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Channels { using System.IO; // Enforces an overall timeout based on the TimeoutHelper passed in class TimeoutStream : DelegatingStream { TimeoutHelper timeoutHelper; public TimeoutStream(Stream stream, ref TimeoutHelper timeoutHelper) : base(stream) { if (!stream.CanTimeout) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("stream", SR.GetString(SR.StreamDoesNotSupportTimeout)); } this.timeoutHelper = timeoutHelper; } void UpdateReadTimeout() { this.ReadTimeout = TimeoutHelper.ToMilliseconds(this.timeoutHelper.RemainingTime()); } void UpdateWriteTimeout() { this.WriteTimeout = TimeoutHelper.ToMilliseconds(this.timeoutHelper.RemainingTime()); } public override IAsyncResult BeginRead(byte[] buffer, int offset, int count, AsyncCallback callback, object state) { UpdateReadTimeout(); return base.BeginRead(buffer, offset, count, callback, state); } public override IAsyncResult BeginWrite(byte[] buffer, int offset, int count, AsyncCallback callback, object state) { UpdateWriteTimeout(); return base.BeginWrite(buffer, offset, count, callback, state); } public override int Read(byte[] buffer, int offset, int count) { UpdateReadTimeout(); return base.Read(buffer, offset, count); } public override int ReadByte() { UpdateReadTimeout(); return base.ReadByte(); } public override void Write(byte[] buffer, int offset, int count) { UpdateWriteTimeout(); base.Write(buffer, offset, count); } public override void WriteByte(byte value) { UpdateWriteTimeout(); base.WriteByte(value); } } } // 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
- LambdaValue.cs
- SessionParameter.cs
- X509Utils.cs
- ButtonField.cs
- CodeTypeReferenceSerializer.cs
- GridViewRowEventArgs.cs
- WebServiceTypeData.cs
- Attributes.cs
- HtmlEmptyTagControlBuilder.cs
- CompensatableTransactionScopeActivityDesigner.cs
- ScrollViewer.cs
- AssociativeAggregationOperator.cs
- ClientRoleProvider.cs
- StubHelpers.cs
- XmlArrayAttribute.cs
- FilterElement.cs
- ExpressionTable.cs
- SecurityContextSecurityToken.cs
- XmlSortKey.cs
- DebugInfoGenerator.cs
- CookieParameter.cs
- mda.cs
- DataGridViewCellStyle.cs
- EntryWrittenEventArgs.cs
- CodeStatementCollection.cs
- DbProviderSpecificTypePropertyAttribute.cs
- WeakEventManager.cs
- UIAgentAsyncParams.cs
- BrowserCapabilitiesFactory.cs
- StylusPointPropertyUnit.cs
- ControlParameter.cs
- Encoder.cs
- StringValidatorAttribute.cs
- RunInstallerAttribute.cs
- TreeNodeCollection.cs
- DataGridViewCellStyleConverter.cs
- HwndSubclass.cs
- CurrencyManager.cs
- AsmxEndpointPickerExtension.cs
- Listbox.cs
- _FixedSizeReader.cs
- CharEnumerator.cs
- WebSysDisplayNameAttribute.cs
- ScriptModule.cs
- BrowserCapabilitiesCompiler.cs
- TextEmbeddedObject.cs
- ItemsControl.cs
- PolicyManager.cs
- Int64KeyFrameCollection.cs
- CodeAccessPermission.cs
- HostVisual.cs
- ReadingWritingEntityEventArgs.cs
- TextSyndicationContentKindHelper.cs
- DataGridDetailsPresenter.cs
- SafeFindHandle.cs
- DataBinder.cs
- ValueTypeFixupInfo.cs
- regiisutil.cs
- DESCryptoServiceProvider.cs
- ListViewContainer.cs
- ListViewGroupItemCollection.cs
- SoapElementAttribute.cs
- ApplicationInfo.cs
- TextEndOfLine.cs
- TdsParserHelperClasses.cs
- DecoderReplacementFallback.cs
- SamlAction.cs
- ItemAutomationPeer.cs
- InvalidDataException.cs
- EventBookmark.cs
- Region.cs
- TargetException.cs
- LinqDataSourceEditData.cs
- HostingPreferredMapPath.cs
- LoginStatusDesigner.cs
- Dispatcher.cs
- GetUserPreferenceRequest.cs
- BlobPersonalizationState.cs
- Matrix.cs
- SchemaTableColumn.cs
- ScrollViewerAutomationPeer.cs
- ParseElementCollection.cs
- DataGridItemCollection.cs
- XmlSchemaDatatype.cs
- ExpressionVisitorHelpers.cs
- ManipulationStartingEventArgs.cs
- IsolatedStorageFilePermission.cs
- TypeSystem.cs
- ScrollPattern.cs
- Span.cs
- SingleKeyFrameCollection.cs
- WinOEToolBoxItem.cs
- DetailsViewInsertedEventArgs.cs
- PersonalizationDictionary.cs
- WsdlBuildProvider.cs
- Models.cs
- GraphicsPath.cs
- OperatorExpressions.cs
- AttachedAnnotation.cs
- LingerOption.cs