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
- XmlValueConverter.cs
- HotCommands.cs
- WaitHandleCannotBeOpenedException.cs
- SizeConverter.cs
- CryptoKeySecurity.cs
- PrintSchema.cs
- NativeConfigurationLoader.cs
- SchemaTableColumn.cs
- LinqDataSourceContextData.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- SecondaryViewProvider.cs
- MessageDescription.cs
- SafeBitVector32.cs
- ICollection.cs
- DocumentEventArgs.cs
- MimeXmlReflector.cs
- ToolStripPanelCell.cs
- PropertyEntry.cs
- MappingModelBuildProvider.cs
- RelationshipConverter.cs
- selecteditemcollection.cs
- DES.cs
- ComponentEditorPage.cs
- ProcessHost.cs
- UIElementParagraph.cs
- DataProviderNameConverter.cs
- XmlHierarchyData.cs
- Native.cs
- WebPartEditorApplyVerb.cs
- UdpDiscoveryEndpoint.cs
- PrintDocument.cs
- Single.cs
- DeclaredTypeValidatorAttribute.cs
- COM2PropertyDescriptor.cs
- SafeBitVector32.cs
- SingletonInstanceContextProvider.cs
- TagPrefixAttribute.cs
- OpenTypeLayoutCache.cs
- XpsFixedPageReaderWriter.cs
- InstanceHandleConflictException.cs
- _SecureChannel.cs
- ProbeDuplex11AsyncResult.cs
- DataGridViewColumnEventArgs.cs
- SafeEventLogWriteHandle.cs
- CompoundFileDeflateTransform.cs
- WinEventTracker.cs
- OdbcReferenceCollection.cs
- ControlParser.cs
- BlockExpression.cs
- AsnEncodedData.cs
- EventSetter.cs
- GridView.cs
- Stream.cs
- StrongNameMembershipCondition.cs
- ArgumentNullException.cs
- IOThreadTimer.cs
- RunWorkerCompletedEventArgs.cs
- SqlUDTStorage.cs
- CodeDOMProvider.cs
- AssemblyUtil.cs
- ArcSegment.cs
- Substitution.cs
- InstanceNotFoundException.cs
- DataGridViewRowHeightInfoPushedEventArgs.cs
- GraphicsState.cs
- SqlServer2KCompatibilityAnnotation.cs
- ConnectionOrientedTransportChannelFactory.cs
- XmlObjectSerializerContext.cs
- SqlDependencyListener.cs
- FileUpload.cs
- ClientTargetSection.cs
- HtmlForm.cs
- RepeaterItem.cs
- MessageDecoder.cs
- BitmapSizeOptions.cs
- PageHandlerFactory.cs
- ProxyGenerator.cs
- ServiceReference.cs
- IProvider.cs
- XmlSchemaImport.cs
- HttpDebugHandler.cs
- _HeaderInfo.cs
- TraceRecords.cs
- unitconverter.cs
- LineSegment.cs
- Switch.cs
- TextMarkerSource.cs
- Signature.cs
- DesignerDataTableBase.cs
- ComponentTray.cs
- DayRenderEvent.cs
- DataKeyCollection.cs
- PaperSource.cs
- StrongNameMembershipCondition.cs
- InternalPermissions.cs
- ColumnTypeConverter.cs
- EncodingStreamWrapper.cs
- NullExtension.cs
- SyndicationItemFormatter.cs
- TypeResolver.cs