Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / TransactionBridge / Microsoft / Transactions / Wsat / Messaging / SupportingTokenDuplexChannel.cs / 1 / SupportingTokenDuplexChannel.cs
//------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------------------------
// Defines the SupportingTokenChannel that implements IDuplexChannel
using System;
using System.ServiceModel;
using System.ServiceModel.Channels;
using System.ServiceModel.Security;
using Microsoft.Transactions.Wsat.Protocol;
namespace Microsoft.Transactions.Wsat.Messaging
{
class SupportingTokenDuplexChannel : SupportingTokenChannel, IDuplexChannel
{
public SupportingTokenDuplexChannel(ChannelManagerBase manager,
IDuplexChannel innerChannel,
SupportingTokenSecurityTokenResolver tokenResolver,
ProtocolVersion protocolVersion)
:
base(manager, innerChannel, tokenResolver, protocolVersion)
{
}
public EndpointAddress LocalAddress
{
get { return this.innerChannel.LocalAddress; }
}
public EndpointAddress RemoteAddress
{
get { return this.innerChannel.RemoteAddress; }
}
public Uri Via
{
get { return this.innerChannel.Via; }
}
public Message Receive()
{
Message message = this.innerChannel.Receive();
OnReceive(message);
return message;
}
public Message Receive(TimeSpan timeout)
{
Message message = this.innerChannel.Receive(timeout);
OnReceive(message);
return message;
}
public IAsyncResult BeginReceive(AsyncCallback callback, object state)
{
return this.innerChannel.BeginReceive(callback, state);
}
public IAsyncResult BeginReceive(TimeSpan timeout, AsyncCallback callback, object state)
{
return this.innerChannel.BeginReceive(timeout, callback, state);
}
public Message EndReceive(IAsyncResult result)
{
Message message = this.innerChannel.EndReceive(result);
OnReceive(message);
return message;
}
public bool TryReceive(TimeSpan timeout, out Message message)
{
if (this.innerChannel.TryReceive(timeout, out message))
{
OnReceive(message);
return true;
}
else
{
return false;
}
}
public IAsyncResult BeginTryReceive(TimeSpan timeout, AsyncCallback callback, object state)
{
return this.innerChannel.BeginTryReceive(timeout, callback, state);
}
public bool EndTryReceive(IAsyncResult result, out Message message)
{
if (this.innerChannel.EndTryReceive(result, out message))
{
OnReceive(message);
return true;
}
else
{
return false;
}
}
public IAsyncResult BeginSend(Message message, AsyncCallback callback, object state)
{
return this.BeginSend(message, this.DefaultSendTimeout, callback, state);
}
public IAsyncResult BeginSend(Message message, TimeSpan timeout, AsyncCallback asyncCallback, object state)
{
return this.innerChannel.BeginSend(message, timeout, asyncCallback, state);
}
public void EndSend(IAsyncResult result)
{
this.innerChannel.EndSend(result);
}
public void Send(Message message)
{
this.innerChannel.Send(message);
}
public void Send(Message message, TimeSpan timeout)
{
this.innerChannel.Send(message, timeout);
}
public bool WaitForMessage(TimeSpan timeout)
{
return this.innerChannel.WaitForMessage(timeout);
}
public IAsyncResult BeginWaitForMessage(TimeSpan timeout, AsyncCallback callback, object state)
{
return this.innerChannel.BeginWaitForMessage(timeout, callback, state);
}
public bool EndWaitForMessage(IAsyncResult result)
{
return this.innerChannel.EndWaitForMessage(result);
}
protected override void TrySendFaultReply(Message faultMessage)
{
this.innerChannel.Send(faultMessage);
}
}
}
// 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
- FormViewModeEventArgs.cs
- PanelStyle.cs
- TransformPatternIdentifiers.cs
- AssemblyBuilder.cs
- XmlConverter.cs
- TimerElapsedEvenArgs.cs
- XmlDataCollection.cs
- ParagraphResult.cs
- XPathCompiler.cs
- HtmlWindowCollection.cs
- RelationshipNavigation.cs
- ITextView.cs
- AssemblyCache.cs
- WindowsGrip.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- LicenseContext.cs
- OleDbParameter.cs
- MembershipSection.cs
- ErrorRuntimeConfig.cs
- HostingEnvironmentSection.cs
- Win32PrintDialog.cs
- EventWaitHandleSecurity.cs
- XMLDiffLoader.cs
- ArrayList.cs
- ImageSourceConverter.cs
- MobileListItem.cs
- AppPool.cs
- ResourceAttributes.cs
- BitmapEffect.cs
- ClosableStream.cs
- GraphicsPath.cs
- AccessDataSource.cs
- TextEditorDragDrop.cs
- SurrogateSelector.cs
- SemanticBasicElement.cs
- TextAnchor.cs
- DiscoveryReferences.cs
- cookiecontainer.cs
- SafeThreadHandle.cs
- MethodMessage.cs
- CodeDomLoader.cs
- SafeBitVector32.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- WindowsListViewSubItem.cs
- WindowsToolbar.cs
- RegexCharClass.cs
- ActivityValidator.cs
- SqlDataSourceFilteringEventArgs.cs
- Executor.cs
- ListViewGroup.cs
- NavigateEvent.cs
- DictionaryKeyPropertyAttribute.cs
- VisualCollection.cs
- QilInvokeLateBound.cs
- AffineTransform3D.cs
- TypeDependencyAttribute.cs
- RichTextBoxDesigner.cs
- WebPartConnectionsDisconnectVerb.cs
- AsymmetricAlgorithm.cs
- ThaiBuddhistCalendar.cs
- ClaimTypes.cs
- InvariantComparer.cs
- DeferredElementTreeState.cs
- XmlArrayItemAttribute.cs
- FindSimilarActivitiesVerb.cs
- RuleConditionDialog.cs
- ValidationResult.cs
- EntityViewGenerator.cs
- HtmlTitle.cs
- GridView.cs
- DataViewListener.cs
- BrushValueSerializer.cs
- ComponentDispatcher.cs
- FormatterConverter.cs
- ResolveMatchesApril2005.cs
- AndCondition.cs
- ApplicationTrust.cs
- ViewCellRelation.cs
- XsdDuration.cs
- Point3D.cs
- ExternalCalls.cs
- CryptoStream.cs
- Italic.cs
- StylusButton.cs
- Highlights.cs
- Table.cs
- MappingItemCollection.cs
- TemplateDefinition.cs
- XmlSchemaComplexContent.cs
- ToolBarButtonDesigner.cs
- MutexSecurity.cs
- UxThemeWrapper.cs
- ExpressionVisitor.cs
- NamespaceQuery.cs
- X509Logo.cs
- Types.cs
- ArgumentNullException.cs
- ActivationServices.cs
- Rect3DConverter.cs
- GridEntryCollection.cs