Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Dispatcher / InputChannelBinder.cs / 1 / InputChannelBinder.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Dispatcher { using System; using System.ServiceModel; using System.ServiceModel.Channels; using System.ServiceModel.Diagnostics; class InputChannelBinder : IChannelBinder { IInputChannel channel; Uri listenUri; internal InputChannelBinder(IInputChannel channel, Uri listenUri) { if (!((channel != null))) { DiagnosticUtility.DebugAssert("InputChannelBinder.InputChannelBinder: (channel != null)"); throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("channel"); } this.channel = channel; this.listenUri = listenUri; } public IChannel Channel { get { return this.channel; } } public bool HasSession { get { return this.channel is ISessionChannel; } } public Uri ListenUri { get { return this.listenUri; } } public EndpointAddress LocalAddress { get { return this.channel.LocalAddress; } } public EndpointAddress RemoteAddress { get { #pragma warning suppress 56503 // [....], the property is really not implemented, cannot lie, API not public throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotImplementedException()); } } public void Abort() { this.channel.Abort(); } public void CloseAfterFault(TimeSpan timeout) { this.channel.Close(timeout); } public IAsyncResult BeginTryReceive(TimeSpan timeout, AsyncCallback callback, object state) { return this.channel.BeginTryReceive(timeout, callback, state); } public bool EndTryReceive(IAsyncResult result, out RequestContext requestContext) { Message message; if (this.channel.EndTryReceive(result, out message)) { requestContext = this.WrapMessage(message); return true; } else { requestContext = null; return false; } } public IAsyncResult BeginSend(Message message, TimeSpan timeout, AsyncCallback callback, object state) { throw TraceUtility.ThrowHelperError(new NotImplementedException(), message); } public void EndSend(IAsyncResult result) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotImplementedException()); } public void Send(Message message, TimeSpan timeout) { throw TraceUtility.ThrowHelperError(new NotImplementedException(), message); } public bool TryReceive(TimeSpan timeout, out RequestContext requestContext) { Message message; if (this.channel.TryReceive(timeout, out message)) { requestContext = this.WrapMessage(message); return true; } else { requestContext = null; return false; } } public IAsyncResult BeginRequest(Message message, TimeSpan timeout, AsyncCallback callback, object state) { throw TraceUtility.ThrowHelperError(new NotImplementedException(), message); } public Message EndRequest(IAsyncResult result) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new NotImplementedException()); } public Message Request(Message message, TimeSpan timeout) { throw TraceUtility.ThrowHelperError(new NotImplementedException(), message); } public bool WaitForMessage(TimeSpan timeout) { return this.channel.WaitForMessage(timeout); } public IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state) { return this.channel.BeginWaitForMessage(timeout, callback, state); } public bool EndWaitForMessage(IAsyncResult result) { return this.channel.EndWaitForMessage(result); } RequestContext WrapMessage(Message message) { if (message == null) { return null; } else { return new InputRequestContext(message, this); } } class InputRequestContext : RequestContextBase { InputChannelBinder binder; internal InputRequestContext(Message request, InputChannelBinder binder) : base(request, TimeSpan.Zero, TimeSpan.Zero) { this.binder = binder; } protected override void OnAbort() { } protected override void OnClose(TimeSpan timeout) { } protected override void OnReply(Message message, TimeSpan timeout) { } protected override IAsyncResult OnBeginReply(Message message, TimeSpan timeout, AsyncCallback callback, object state) { return new CompletedAsyncResult(callback, state); } protected override void OnEndReply(IAsyncResult result) { CompletedAsyncResult.End(result); } } } } // 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
- DynamicILGenerator.cs
- DataGridViewRowStateChangedEventArgs.cs
- AsyncStreamReader.cs
- ListSortDescriptionCollection.cs
- DataServicePagingProviderWrapper.cs
- DelegateTypeInfo.cs
- WebPartConnectionsConfigureVerb.cs
- PageThemeBuildProvider.cs
- InternalConfirm.cs
- AngleUtil.cs
- WindowsFont.cs
- TextBoxAutoCompleteSourceConverter.cs
- filewebrequest.cs
- HttpRequestTraceRecord.cs
- IBuiltInEvidence.cs
- DataControlImageButton.cs
- CryptoApi.cs
- StrictAndMessageFilter.cs
- DbTransaction.cs
- SqlProviderServices.cs
- ResourceDictionary.cs
- CodeGen.cs
- EnvelopeVersion.cs
- DetailsViewRowCollection.cs
- TableLayoutRowStyleCollection.cs
- DateTimeFormat.cs
- SqlBuilder.cs
- DCSafeHandle.cs
- TemplateXamlParser.cs
- DataServiceHostFactory.cs
- ParameterCollection.cs
- TemplateBuilder.cs
- CodeGroup.cs
- RawStylusInputReport.cs
- Peer.cs
- CompositeDataBoundControl.cs
- BezierSegment.cs
- GlyphsSerializer.cs
- ReadOnlyDictionary.cs
- XomlCompilerResults.cs
- XmlLanguage.cs
- WebContext.cs
- ColorAnimation.cs
- ConsumerConnectionPoint.cs
- EdmItemError.cs
- _SafeNetHandles.cs
- CellPartitioner.cs
- SqlDataAdapter.cs
- ClientSettingsStore.cs
- ElementHostAutomationPeer.cs
- DeviceContext.cs
- TimeSpanValidator.cs
- RadioButtonStandardAdapter.cs
- HttpFileCollectionWrapper.cs
- StoryFragments.cs
- UpDownBaseDesigner.cs
- ParameterReplacerVisitor.cs
- ScrollPatternIdentifiers.cs
- XmlExpressionDumper.cs
- DataGridViewColumnHeaderCell.cs
- COM2ExtendedUITypeEditor.cs
- ToolConsole.cs
- VisualProxy.cs
- DecoderReplacementFallback.cs
- HttpWriter.cs
- ScriptReference.cs
- ExeContext.cs
- TripleDES.cs
- DeadCharTextComposition.cs
- SqlMultiplexer.cs
- AnnotationMap.cs
- Point4DConverter.cs
- DetailsViewRow.cs
- GradientStop.cs
- XmlSerializationGeneratedCode.cs
- TrustSection.cs
- ElementProxy.cs
- WithStatement.cs
- ApplicationHost.cs
- TableSectionStyle.cs
- ColumnHeader.cs
- ObjectSecurity.cs
- RewritingProcessor.cs
- SoapFault.cs
- BamlLocalizationDictionary.cs
- JulianCalendar.cs
- Normalizer.cs
- Context.cs
- WebPartUtil.cs
- MetadataPropertyvalue.cs
- List.cs
- SoundPlayer.cs
- WrappedIUnknown.cs
- TransformerTypeCollection.cs
- TemplatingOptionsDialog.cs
- ApplicationSecurityManager.cs
- PackagingUtilities.cs
- PenThreadPool.cs
- Control.cs
- FormsAuthenticationConfiguration.cs