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
- DispatcherProcessingDisabled.cs
- OraclePermissionAttribute.cs
- DifferencingCollection.cs
- WindowsHyperlink.cs
- SqlNamer.cs
- OleDbWrapper.cs
- CombinedGeometry.cs
- XPathNavigatorReader.cs
- SoapSchemaMember.cs
- ConnectionProviderAttribute.cs
- CssTextWriter.cs
- StoreItemCollection.cs
- ImageConverter.cs
- OracleConnectionStringBuilder.cs
- RecommendedAsConfigurableAttribute.cs
- EventDriven.cs
- ReferentialConstraint.cs
- AssemblyLoader.cs
- CodePrimitiveExpression.cs
- LayoutSettings.cs
- SymmetricKeyWrap.cs
- ObjectResult.cs
- XXXInfos.cs
- CodeEntryPointMethod.cs
- FormatConvertedBitmap.cs
- DoubleLinkList.cs
- BuildProviderCollection.cs
- OracleConnectionStringBuilder.cs
- EncoderParameter.cs
- ConsoleEntryPoint.cs
- BindToObject.cs
- MobileRedirect.cs
- DataGridHeaderBorder.cs
- Pts.cs
- TextEditorSpelling.cs
- GridItemCollection.cs
- CuspData.cs
- XmlBindingWorker.cs
- RegexParser.cs
- TagPrefixInfo.cs
- SmtpNegotiateAuthenticationModule.cs
- Transform.cs
- FirewallWrapper.cs
- InlineCollection.cs
- DataGridSortCommandEventArgs.cs
- WindowsFormsSectionHandler.cs
- ClientScriptManagerWrapper.cs
- SqlInfoMessageEvent.cs
- AutomationElementCollection.cs
- XmlElementAttributes.cs
- FormViewUpdatedEventArgs.cs
- CodeCastExpression.cs
- ErrorTableItemStyle.cs
- StateRuntime.cs
- CapabilitiesUse.cs
- DatagridviewDisplayedBandsData.cs
- COAUTHINFO.cs
- CellTreeNode.cs
- BezierSegment.cs
- CombinedGeometry.cs
- CancellableEnumerable.cs
- SafeLocalMemHandle.cs
- UrlMappingsModule.cs
- SQLString.cs
- SynthesizerStateChangedEventArgs.cs
- WebPartConnectionCollection.cs
- StatusBarPanelClickEvent.cs
- XmlAtomicValue.cs
- SqlCommandBuilder.cs
- ItemCheckedEvent.cs
- MultipartContentParser.cs
- SettingsBase.cs
- PerfCounters.cs
- SchemaCollectionCompiler.cs
- SiteMapNodeItem.cs
- BoolLiteral.cs
- TaskSchedulerException.cs
- ServiceReference.cs
- GroupedContextMenuStrip.cs
- SQLResource.cs
- EncryptedXml.cs
- HttpException.cs
- VisemeEventArgs.cs
- RectangleGeometry.cs
- TCPListener.cs
- Int32CAMarshaler.cs
- StrokeRenderer.cs
- ValidationError.cs
- SystemIPInterfaceStatistics.cs
- ComponentConverter.cs
- HttpContextWrapper.cs
- TreeNodeCollection.cs
- Models.cs
- ContainerParagraph.cs
- XmlNamespaceDeclarationsAttribute.cs
- WrapperEqualityComparer.cs
- NavigationPropertyEmitter.cs
- WaitHandle.cs
- CheckBox.cs
- PropertyItem.cs