Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Channels / ChannelBase.cs / 1 / ChannelBase.cs
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------
namespace System.ServiceModel.Channels
{
using System.Diagnostics;
using System.ServiceModel;
using System.ServiceModel.Diagnostics;
public abstract class ChannelBase : CommunicationObject, IChannel, IDefaultCommunicationTimeouts
{
ChannelManagerBase channelManager;
protected ChannelBase(ChannelManagerBase channelManager)
{
if (channelManager == null)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("channelManager");
}
this.channelManager = channelManager;
if (DiagnosticUtility.ShouldTraceVerbose)
{
DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Verbose, TraceCode.ChannelCreated,
SR.GetString(SR.TraceCodeChannelCreated, DiagnosticTrace.CreateSourceString(this)),
null, null, this);
}
}
TimeSpan IDefaultCommunicationTimeouts.CloseTimeout
{
get { return this.DefaultCloseTimeout; }
}
TimeSpan IDefaultCommunicationTimeouts.OpenTimeout
{
get { return this.DefaultOpenTimeout; }
}
TimeSpan IDefaultCommunicationTimeouts.ReceiveTimeout
{
get { return this.DefaultReceiveTimeout; }
}
TimeSpan IDefaultCommunicationTimeouts.SendTimeout
{
get { return this.DefaultSendTimeout; }
}
protected override TimeSpan DefaultCloseTimeout
{
get { return ((IDefaultCommunicationTimeouts)this.channelManager).CloseTimeout; }
}
protected override TimeSpan DefaultOpenTimeout
{
get { return ((IDefaultCommunicationTimeouts)this.channelManager).OpenTimeout; }
}
protected TimeSpan DefaultReceiveTimeout
{
get { return ((IDefaultCommunicationTimeouts)this.channelManager).ReceiveTimeout; }
}
protected TimeSpan DefaultSendTimeout
{
get { return ((IDefaultCommunicationTimeouts)this.channelManager).SendTimeout; }
}
protected ChannelManagerBase Manager
{
get
{
return channelManager;
}
}
public virtual T GetProperty() where T : class
{
IChannelFactory factory = this.channelManager as IChannelFactory;
if (factory != null)
{
return factory.GetProperty();
}
IChannelListener listener = this.channelManager as IChannelListener;
if (listener != null)
{
return listener.GetProperty();
}
return null;
}
protected override void OnClosed()
{
base.OnClosed();
if (DiagnosticUtility.ShouldTraceVerbose)
{
DiagnosticUtility.DiagnosticTrace.TraceEvent(TraceEventType.Verbose, TraceCode.ChannelDisposed,
SR.GetString(SR.TraceCodeChannelDisposed, DiagnosticTrace.CreateSourceString(this)),
null, null, this);
}
}
}
}
// 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
- StringOutput.cs
- SoapReflector.cs
- HttpProfileGroupBase.cs
- PolyBezierSegment.cs
- wgx_sdk_version.cs
- VSWCFServiceContractGenerator.cs
- CompilerCollection.cs
- DesignerValidationSummaryAdapter.cs
- PolyLineSegmentFigureLogic.cs
- DataBoundControlAdapter.cs
- FontCollection.cs
- ScrollChrome.cs
- ModuleBuilder.cs
- FactoryMaker.cs
- sqlcontext.cs
- ListViewItemSelectionChangedEvent.cs
- QuaternionKeyFrameCollection.cs
- HandledMouseEvent.cs
- InputLanguage.cs
- Border.cs
- AnnotationObservableCollection.cs
- Listener.cs
- SiteMapNodeItem.cs
- COM2ExtendedTypeConverter.cs
- CurrentChangedEventManager.cs
- IriParsingElement.cs
- Path.cs
- SelectionItemProviderWrapper.cs
- HtmlMeta.cs
- HtmlElementCollection.cs
- CredentialCache.cs
- SafeProcessHandle.cs
- Size3DConverter.cs
- PrintingPermission.cs
- ToolStripPanel.cs
- AdornerHitTestResult.cs
- EntityTypeEmitter.cs
- ProcessHostFactoryHelper.cs
- SplitterDesigner.cs
- ParseHttpDate.cs
- WinFormsSpinner.cs
- COM2FontConverter.cs
- PlatformCulture.cs
- ServerValidateEventArgs.cs
- XmlElementElementCollection.cs
- ExpressionParser.cs
- ResXResourceWriter.cs
- NamedPipeTransportBindingElement.cs
- DataControlFieldCollection.cs
- DrawListViewSubItemEventArgs.cs
- HtmlInputPassword.cs
- NotificationContext.cs
- SqlGenericUtil.cs
- DrawListViewColumnHeaderEventArgs.cs
- ColorMap.cs
- LicenseProviderAttribute.cs
- QueryableDataSource.cs
- ListViewUpdatedEventArgs.cs
- odbcmetadatacollectionnames.cs
- BaseParagraph.cs
- HttpHandler.cs
- JsonDeserializer.cs
- TimeSpanStorage.cs
- DataControlImageButton.cs
- ValidationError.cs
- WebPart.cs
- MouseDevice.cs
- AttachedAnnotation.cs
- FormView.cs
- XmlSchemaAppInfo.cs
- TreeViewItem.cs
- Visual3D.cs
- ServiceOperation.cs
- _KerberosClient.cs
- ThemeInfoAttribute.cs
- PathGeometry.cs
- unitconverter.cs
- TemplateParser.cs
- SchemaMapping.cs
- Soap12ServerProtocol.cs
- DataControlPagerLinkButton.cs
- EventlogProvider.cs
- FixedSOMFixedBlock.cs
- OutKeywords.cs
- LeafCellTreeNode.cs
- ProtectedConfiguration.cs
- StructuralComparisons.cs
- Message.cs
- HtmlTableRow.cs
- XPathExpr.cs
- SizeAnimationClockResource.cs
- SizeConverter.cs
- ConnectorDragDropGlyph.cs
- MethodRental.cs
- SerialPinChanges.cs
- AdvancedBindingPropertyDescriptor.cs
- FormatSettings.cs
- OLEDB_Util.cs
- RegexFCD.cs
- ActionMessageFilter.cs