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
- XPathDescendantIterator.cs
- NumericExpr.cs
- RadioButton.cs
- VirtualPathProvider.cs
- MergeLocalizationDirectives.cs
- AuthorizationRule.cs
- Compiler.cs
- EntityReference.cs
- TypeUtil.cs
- EncoderReplacementFallback.cs
- WebBrowserNavigatingEventHandler.cs
- Debug.cs
- HtmlValidationSummaryAdapter.cs
- TextDecorationUnitValidation.cs
- SerializationInfo.cs
- FormatSelectingMessageInspector.cs
- FrameAutomationPeer.cs
- Size.cs
- TrustSection.cs
- SimpleTextLine.cs
- AvTrace.cs
- ColumnReorderedEventArgs.cs
- ThaiBuddhistCalendar.cs
- AuthenticationConfig.cs
- ResXResourceSet.cs
- BrowserDefinition.cs
- GcSettings.cs
- ApplicationDirectoryMembershipCondition.cs
- TcpHostedTransportConfiguration.cs
- CodeDOMProvider.cs
- CoreSwitches.cs
- AdRotatorDesigner.cs
- MetadataAssemblyHelper.cs
- CustomErrorsSectionWrapper.cs
- ObjectRef.cs
- MetadataPropertyCollection.cs
- IERequestCache.cs
- BaseValidator.cs
- StickyNoteContentControl.cs
- FlowDocument.cs
- TypeSystemProvider.cs
- DPCustomTypeDescriptor.cs
- ObjectDisposedException.cs
- XmlValidatingReaderImpl.cs
- Point3D.cs
- UpdateTracker.cs
- DuplexChannelFactory.cs
- SimpleBitVector32.cs
- ArraySegment.cs
- UserControlParser.cs
- Win32.cs
- ScriptingJsonSerializationSection.cs
- RoutedPropertyChangedEventArgs.cs
- XhtmlBasicControlAdapter.cs
- ViewValidator.cs
- DescendantQuery.cs
- ChannelTokenTypeConverter.cs
- JumpTask.cs
- C14NUtil.cs
- CopyOfAction.cs
- GregorianCalendar.cs
- XmlNodeWriter.cs
- Panel.cs
- StateFinalizationActivity.cs
- ModuleElement.cs
- XamlTypeMapper.cs
- SerializableAttribute.cs
- ServicesUtilities.cs
- XmlException.cs
- XamlBuildProvider.cs
- DataSourceGeneratorException.cs
- CommonRemoteMemoryBlock.cs
- ExpanderAutomationPeer.cs
- DataGridTablesFactory.cs
- SystemWebCachingSectionGroup.cs
- SoapReflector.cs
- ValidationSummaryDesigner.cs
- HtmlLiteralTextAdapter.cs
- SystemTcpConnection.cs
- PropertyEmitterBase.cs
- OletxTransactionManager.cs
- SecondaryViewProvider.cs
- DependencyPropertyKind.cs
- SQLStringStorage.cs
- DockPatternIdentifiers.cs
- ColumnHeaderConverter.cs
- TextTabProperties.cs
- XmlSchemaSimpleTypeUnion.cs
- QilInvokeLateBound.cs
- FixedDocument.cs
- Control.cs
- JsonQNameDataContract.cs
- Grant.cs
- StorageInfo.cs
- PropertyAccessVisitor.cs
- MessageSmuggler.cs
- MobilePage.cs
- MetaModel.cs
- PersonalizableTypeEntry.cs
- BuildProviderCollection.cs