Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / TransactionBridge / Microsoft / Transactions / Wsat / Messaging / RegistrationProxy.cs / 1 / RegistrationProxy.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- // Define the interfaces and infrastructure needed to send registration messages using System; using System.ServiceModel.Channels; using System.Diagnostics; using System.ServiceModel; namespace Microsoft.Transactions.Wsat.Messaging { class RegistrationProxy : RequestReplyProxy { public RegistrationProxy(CoordinationService coordination, EndpointAddress to) : base (coordination, to) {} protected override IChannelFactorySelectChannelFactory(out MessageVersion messageVersion) { messageVersion = this.coordinationService.InteropRegistrationBinding.MessageVersion; return this.coordinationService.InteropRegistrationChannelFactory; } RegisterMessage CreateRegisterMessage (ref Register register) { RegisterMessage message = new RegisterMessage(this.messageVersion, ref register); if (register.SupportingToken != null) { CoordinationServiceSecurity.AddSupportingToken(message, register.SupportingToken); } return message; } public RegisterResponse SendRegister (ref Register register) { if (DebugTrace.Verbose) { DebugTrace.Trace(TraceLevel.Verbose, "Sending Register to {0}", this.to.Uri); } Message message = CreateRegisterMessage(ref register); Message reply = SendRequest(message, this.coordinationStrings.RegisterResponseAction); using (reply) { if (DebugTrace.Verbose) { DebugTrace.Trace(TraceLevel.Verbose, "Dispatching RegisterResponse reply"); if (DebugTrace.Pii) DebugTrace.TracePii(TraceLevel.Verbose, "Sender is {0}", CoordinationServiceSecurity.GetSenderName(reply)); } return new RegisterResponse(reply, this.protocolVersion); } } public IAsyncResult BeginSendRegister (ref Register register, AsyncCallback callback, object state) { if (DebugTrace.Verbose) { DebugTrace.Trace(TraceLevel.Verbose, "Sending Register to {0}", this.to.Uri); } Message message = CreateRegisterMessage (ref register); return BeginSendRequest (message, callback, state); } public RegisterResponse EndSendRegister (IAsyncResult ar) { try { Message reply = EndSendRequest(ar, this.coordinationStrings.RegisterResponseAction); using (reply) { if (DebugTrace.Verbose) { DebugTrace.Trace(TraceLevel.Verbose, "Dispatching RegisterResponse reply"); if (DebugTrace.Pii) DebugTrace.TracePii(TraceLevel.Verbose, "Sender is {0}", CoordinationServiceSecurity.GetSenderName(reply)); } return new RegisterResponse(reply, this.protocolVersion); } } catch (CommunicationException e) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new WsatReceiveFailureException(e)); } } public static void SendRegisterResponse (RequestAsyncResult result, ref RegisterResponse response) { Message message = new RegisterResponseMessage (result.MessageVersion, ref response); result.Finished (message); } public static void SendFaultResponse (RequestAsyncResult result, Fault fault) { Library.SendFaultResponse (result, fault); } } } // 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
- SqlDataSourceConfigureSelectPanel.cs
- VirtualizingPanel.cs
- ListViewInsertedEventArgs.cs
- Wrapper.cs
- TableRowGroupCollection.cs
- DataGridTableCollection.cs
- Update.cs
- Point4DConverter.cs
- StreamGeometryContext.cs
- Int32Rect.cs
- CollectionChangeEventArgs.cs
- CaseInsensitiveHashCodeProvider.cs
- TreeBuilderBamlTranslator.cs
- VBIdentifierDesigner.xaml.cs
- FullTextLine.cs
- PrivilegedConfigurationManager.cs
- ToolStripOverflowButton.cs
- Partitioner.cs
- XmlNodeChangedEventManager.cs
- JoinSymbol.cs
- DataSourceView.cs
- EtwProvider.cs
- AgileSafeNativeMemoryHandle.cs
- ColumnBinding.cs
- ParseNumbers.cs
- RelatedView.cs
- BinarySerializer.cs
- tibetanshape.cs
- CustomTypeDescriptor.cs
- Calendar.cs
- RenderData.cs
- FixedBufferAttribute.cs
- ServiceHostFactory.cs
- XmlMemberMapping.cs
- StrongNamePublicKeyBlob.cs
- StringValidatorAttribute.cs
- MaterialCollection.cs
- DynamicDataExtensions.cs
- Stylesheet.cs
- SendDesigner.xaml.cs
- TextDecoration.cs
- InitializingNewItemEventArgs.cs
- NullableIntSumAggregationOperator.cs
- DbModificationClause.cs
- DefinitionBase.cs
- XmlSchemaGroup.cs
- EncoderExceptionFallback.cs
- CollectionChange.cs
- _AutoWebProxyScriptWrapper.cs
- SequentialUshortCollection.cs
- SecurityRuntime.cs
- StrongName.cs
- EditingCommands.cs
- propertytag.cs
- CapacityStreamGeometryContext.cs
- JumpList.cs
- MouseGestureValueSerializer.cs
- ErrorStyle.cs
- Formatter.cs
- WmlMobileTextWriter.cs
- SortQueryOperator.cs
- IDictionary.cs
- Base64Stream.cs
- OptimalBreakSession.cs
- ToolboxDataAttribute.cs
- ClientSettings.cs
- WindowsFormsHelpers.cs
- DynamicQueryStringParameter.cs
- TableLayoutRowStyleCollection.cs
- PrintPageEvent.cs
- TreeNodeStyle.cs
- MouseWheelEventArgs.cs
- InternalDispatchObject.cs
- DecodeHelper.cs
- UIElement3D.cs
- EmptyStringExpandableObjectConverter.cs
- NavigatorInput.cs
- FreeFormPanel.cs
- MappingSource.cs
- ConnectionsZoneDesigner.cs
- DataGridPagingPage.cs
- VisualTarget.cs
- ParentQuery.cs
- WsdlImporterElementCollection.cs
- ResourceDisplayNameAttribute.cs
- XomlSerializationHelpers.cs
- StreamSecurityUpgradeInitiator.cs
- RadioButton.cs
- DesignerAttribute.cs
- StateDesignerConnector.cs
- _ConnectionGroup.cs
- StringDictionaryCodeDomSerializer.cs
- ExpressionVisitor.cs
- FindCompletedEventArgs.cs
- XmlSerializationGeneratedCode.cs
- _Semaphore.cs
- ConsoleEntryPoint.cs
- TextSimpleMarkerProperties.cs
- TrackingServices.cs
- ListCommandEventArgs.cs