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
- ThreadStartException.cs
- CodeSnippetTypeMember.cs
- HttpProfileBase.cs
- DataMemberFieldEditor.cs
- GridItem.cs
- ListViewItem.cs
- ErrorHandler.cs
- DefaultIfEmptyQueryOperator.cs
- ElementNotEnabledException.cs
- DebugView.cs
- DynamicPropertyReader.cs
- Rotation3D.cs
- XmlNodeChangedEventManager.cs
- Emitter.cs
- FormsAuthenticationConfiguration.cs
- MenuItemCollection.cs
- UnsupportedPolicyOptionsException.cs
- HtmlPanelAdapter.cs
- BoolExpr.cs
- WSTransactionSection.cs
- AddInAttribute.cs
- CollectionContainer.cs
- Sql8ExpressionRewriter.cs
- RedistVersionInfo.cs
- BinHexEncoder.cs
- SvcMapFile.cs
- StringKeyFrameCollection.cs
- WebPartConnectionsConnectVerb.cs
- AlignmentYValidation.cs
- DropDownHolder.cs
- WebPart.cs
- WebPartConnectionsConnectVerb.cs
- GridViewUpdatedEventArgs.cs
- PassportAuthentication.cs
- TextEditorThreadLocalStore.cs
- AttachedPropertyMethodSelector.cs
- TransformPatternIdentifiers.cs
- securitycriticaldata.cs
- XPathSelfQuery.cs
- ItemMap.cs
- CallbackValidatorAttribute.cs
- FillErrorEventArgs.cs
- ResXFileRef.cs
- MetabaseServerConfig.cs
- PointLight.cs
- CommandLibraryHelper.cs
- XamlBuildProvider.cs
- KnownTypeAttribute.cs
- ToolbarAUtomationPeer.cs
- CompensatableSequenceActivity.cs
- TypeSystemProvider.cs
- OracleString.cs
- IdentityHolder.cs
- CodeSubDirectory.cs
- MenuCommandService.cs
- OrElse.cs
- InkPresenterAutomationPeer.cs
- StorageSetMapping.cs
- ManipulationVelocities.cs
- MappingException.cs
- TemplatedMailWebEventProvider.cs
- DataGridViewTextBoxEditingControl.cs
- ForeignKeyConstraint.cs
- UnconditionalPolicy.cs
- TextElementEnumerator.cs
- QilNode.cs
- SponsorHelper.cs
- BitmapEncoder.cs
- ScrollableControl.cs
- ToolBarPanel.cs
- MultiTrigger.cs
- StoreItemCollection.cs
- SoapFormatterSinks.cs
- ScriptRegistrationManager.cs
- OleDbCommand.cs
- ProviderUtil.cs
- VersionPair.cs
- ClientConfigPaths.cs
- TableFieldsEditor.cs
- Lease.cs
- ArrayListCollectionBase.cs
- ColumnClickEvent.cs
- TypeForwardedFromAttribute.cs
- DetailsViewDeleteEventArgs.cs
- SQLInt64.cs
- DesignerDataRelationship.cs
- DispatchWrapper.cs
- XPathAxisIterator.cs
- ValidationManager.cs
- FontStyles.cs
- X509CertificateChain.cs
- LassoSelectionBehavior.cs
- AppDomainFactory.cs
- FillErrorEventArgs.cs
- XmlSiteMapProvider.cs
- SchemaElementDecl.cs
- PersonalizationStateInfoCollection.cs
- DoubleUtil.cs
- KeyToListMap.cs
- ColumnCollection.cs