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
- EdmType.cs
- XmlDictionaryString.cs
- XPathNodeInfoAtom.cs
- GlobalItem.cs
- BuildProviderAppliesToAttribute.cs
- PageThemeParser.cs
- PersistenceTypeAttribute.cs
- EntityCodeGenerator.cs
- ExpandoObject.cs
- ReflectionTypeLoadException.cs
- InertiaTranslationBehavior.cs
- AssertFilter.cs
- WS2007HttpBinding.cs
- ListViewCommandEventArgs.cs
- QuerySelectOp.cs
- InternalPermissions.cs
- formatter.cs
- VisualTreeHelper.cs
- AssertValidation.cs
- SettingsSection.cs
- FileDialog_Vista_Interop.cs
- ConnectivityStatus.cs
- PageAsyncTask.cs
- SafeNativeMemoryHandle.cs
- Point4DValueSerializer.cs
- MultipleCopiesCollection.cs
- OpCodes.cs
- InfoCardSymmetricCrypto.cs
- HttpChannelHelpers.cs
- Rect.cs
- IISMapPath.cs
- SmiSettersStream.cs
- PerformanceCounterManager.cs
- DesignerFrame.cs
- Ray3DHitTestResult.cs
- PathGradientBrush.cs
- coordinatorscratchpad.cs
- ToolStripHighContrastRenderer.cs
- LabelDesigner.cs
- LocalBuilder.cs
- LogLogRecordHeader.cs
- WindowsGraphicsCacheManager.cs
- SByteStorage.cs
- FieldNameLookup.cs
- BamlRecordWriter.cs
- StyleTypedPropertyAttribute.cs
- IpcManager.cs
- ResourceProperty.cs
- UriTemplateTrieNode.cs
- ToolboxComponentsCreatingEventArgs.cs
- OracleDataReader.cs
- Oci.cs
- DataSourceXmlSubItemAttribute.cs
- ObjectConverter.cs
- LineVisual.cs
- DataGridViewToolTip.cs
- HttpPostedFileBase.cs
- XmlILAnnotation.cs
- AvTraceFormat.cs
- TreeNodeCollectionEditor.cs
- BuildProvider.cs
- WebPartsPersonalization.cs
- OleDbDataReader.cs
- TriggerBase.cs
- XmlUtil.cs
- DBBindings.cs
- SelectionEditor.cs
- ExpressionBuilder.cs
- HeaderCollection.cs
- ConfigXmlReader.cs
- TypefaceMetricsCache.cs
- FixedSOMPage.cs
- PropertyValueChangedEvent.cs
- ValidatorCollection.cs
- DesignerRegion.cs
- PathFigure.cs
- CompiledIdentityConstraint.cs
- WebPartConnectVerb.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- XmlValidatingReaderImpl.cs
- DataGridTablesFactory.cs
- SettingsPropertyNotFoundException.cs
- ClaimComparer.cs
- DESCryptoServiceProvider.cs
- Stream.cs
- RegisterInfo.cs
- StringExpressionSet.cs
- IFlowDocumentViewer.cs
- BinaryReader.cs
- IntPtr.cs
- BehaviorEditorPart.cs
- DocumentPageHost.cs
- WindowsGraphicsCacheManager.cs
- ContextMarshalException.cs
- ThreadExceptionEvent.cs
- DbMetaDataCollectionNames.cs
- DataList.cs
- URLMembershipCondition.cs
- EntityCommandExecutionException.cs
- BaseWebProxyFinder.cs