Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Dispatcher / ClientOperation.cs / 3 / ClientOperation.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Dispatcher { using System; using System.Reflection; using System.Collections.Generic; public sealed class ClientOperation { string action; SynchronizedCollectionfaultContractInfos; bool serializeRequest; bool deserializeReply; IClientMessageFormatter formatter; IClientFaultFormatter faultFormatter; bool isInitiating = true; bool isOneWay; bool isTerminating; string name; SynchronizedCollection parameterInspectors; ClientRuntime parent; string replyAction; MethodInfo beginMethod; MethodInfo endMethod; MethodInfo syncMethod; bool isFaultFormatterSetExplicit = false; public ClientOperation(ClientRuntime parent, string name, string action) : this(parent, name, action, null) { } public ClientOperation(ClientRuntime parent, string name, string action, string replyAction) { if (parent == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("parent"); if (name == null) throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("name"); this.parent = parent; this.name = name; this.action = action; this.replyAction = replyAction; this.faultContractInfos = parent.NewBehaviorCollection (); this.parameterInspectors = parent.NewBehaviorCollection (); } public string Action { get { return this.action; } } public SynchronizedCollection FaultContractInfos { get { return this.faultContractInfos; } } public MethodInfo BeginMethod { get { return this.beginMethod; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.beginMethod = value; } } } public MethodInfo EndMethod { get { return this.endMethod; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.endMethod = value; } } } public MethodInfo SyncMethod { get { return this.syncMethod; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.syncMethod = value; } } } public IClientMessageFormatter Formatter { get { return this.formatter; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.formatter = value; } } } internal IClientFaultFormatter FaultFormatter { get { if (this.faultFormatter == null) { this.faultFormatter = new DataContractSerializerFaultFormatter(this.faultContractInfos); } return this.faultFormatter; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.faultFormatter = value; this.isFaultFormatterSetExplicit = true; } } } internal bool IsFaultFormatterSetExplicit { get { return this.isFaultFormatterSetExplicit; } } internal IClientMessageFormatter InternalFormatter { get { return this.formatter; } set { this.formatter = value; } } public bool IsInitiating { get { return this.isInitiating; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.isInitiating = value; } } } public bool IsOneWay { get { return this.isOneWay; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.isOneWay = value; } } } public bool IsTerminating { get { return this.isTerminating; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.isTerminating = value; } } } public string Name { get { return this.name; } } public SynchronizedCollection ParameterInspectors { get { return this.parameterInspectors; } } public ClientRuntime Parent { get { return this.parent; } } public string ReplyAction { get { return this.replyAction; } } public bool SerializeRequest { get { return this.serializeRequest; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.serializeRequest = value; } } } public bool DeserializeReply { get { return this.deserializeReply; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.deserializeReply = value; } } } } } // 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
- CqlParserHelpers.cs
- CodeParameterDeclarationExpressionCollection.cs
- FormsAuthentication.cs
- TextOnlyOutput.cs
- SpecialTypeDataContract.cs
- TemplateParser.cs
- TextTrailingWordEllipsis.cs
- BrowserCapabilitiesCodeGenerator.cs
- TextEndOfParagraph.cs
- FaultPropagationQuery.cs
- ProfileGroupSettings.cs
- ApplicationTrust.cs
- clipboard.cs
- StreamUpgradeProvider.cs
- ConfigurationManager.cs
- ListBoxItem.cs
- Single.cs
- BitmapVisualManager.cs
- InfoCardBaseException.cs
- WriterOutput.cs
- MarkupObject.cs
- NativeMethodsCLR.cs
- MDIWindowDialog.cs
- SelectedGridItemChangedEvent.cs
- RegionIterator.cs
- MainMenu.cs
- _DigestClient.cs
- XmlConverter.cs
- ParseNumbers.cs
- ForwardPositionQuery.cs
- ControlCachePolicy.cs
- WindowsTooltip.cs
- XmlDataSourceView.cs
- WebFaultException.cs
- LambdaCompiler.Address.cs
- CodeDOMUtility.cs
- RangeValuePattern.cs
- DbConnectionClosed.cs
- DocumentXmlWriter.cs
- Quaternion.cs
- ReadingWritingEntityEventArgs.cs
- CircleHotSpot.cs
- ImpersonationOption.cs
- DiagnosticTraceSource.cs
- XmlSerializerAssemblyAttribute.cs
- TableLayoutPanelCodeDomSerializer.cs
- Matrix.cs
- RowsCopiedEventArgs.cs
- ToolstripProfessionalRenderer.cs
- DatePickerDateValidationErrorEventArgs.cs
- DetailsViewRowCollection.cs
- UpdateRecord.cs
- SafeEventLogWriteHandle.cs
- RIPEMD160.cs
- ping.cs
- CodeCastExpression.cs
- ContractMapping.cs
- MDIWindowDialog.cs
- ModuleConfigurationInfo.cs
- Compiler.cs
- ImmutableCollection.cs
- HtmlTableCell.cs
- TdsEnums.cs
- XmlDataSourceNodeDescriptor.cs
- RightsManagementInformation.cs
- QueryInterceptorAttribute.cs
- XmlEntityReference.cs
- SynchronizationContext.cs
- Comparer.cs
- RedBlackList.cs
- MouseEventArgs.cs
- ClientTargetSection.cs
- ResourceAssociationSetEnd.cs
- BamlBinaryReader.cs
- TableItemStyle.cs
- Polyline.cs
- TimelineCollection.cs
- SQLMoney.cs
- TreeNodeBindingCollection.cs
- TransformedBitmap.cs
- ConfigurationValues.cs
- UnmanagedMemoryStreamWrapper.cs
- DiscardableAttribute.cs
- DetailsViewInsertEventArgs.cs
- DataGridItem.cs
- PackagingUtilities.cs
- BrowserDefinitionCollection.cs
- IdentitySection.cs
- StrongNameUtility.cs
- IxmlLineInfo.cs
- Schema.cs
- ZipIOModeEnforcingStream.cs
- OneOf.cs
- DeferredSelectedIndexReference.cs
- CapabilitiesRule.cs
- HotSpotCollectionEditor.cs
- ActiveXHelper.cs
- ValidatorCollection.cs
- HostProtectionException.cs
- StorageComplexPropertyMapping.cs