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
- ConfigurationValidatorBase.cs
- StrokeCollectionDefaultValueFactory.cs
- QueryContinueDragEvent.cs
- SQLByteStorage.cs
- TemplateBindingExpressionConverter.cs
- Section.cs
- PerfCounters.cs
- QueryOptionExpression.cs
- ProfileInfo.cs
- StructuredTypeEmitter.cs
- PagesSection.cs
- HttpWebRequest.cs
- AppDomainUnloadedException.cs
- EventData.cs
- TextReader.cs
- ImageProxy.cs
- CompilationRelaxations.cs
- InputLangChangeEvent.cs
- WindowsFormsEditorServiceHelper.cs
- InteropExecutor.cs
- ImplicitInputBrush.cs
- SqlBuffer.cs
- SmtpException.cs
- PathStreamGeometryContext.cs
- InstancePersistenceContext.cs
- MobileRedirect.cs
- EncodingTable.cs
- NeutralResourcesLanguageAttribute.cs
- TextTrailingWordEllipsis.cs
- controlskin.cs
- NumberAction.cs
- CultureMapper.cs
- MatrixTransform3D.cs
- WindowsStartMenu.cs
- RegexNode.cs
- MulticastNotSupportedException.cs
- GetImportedCardRequest.cs
- DataListItem.cs
- ExeContext.cs
- DataListCommandEventArgs.cs
- ExecutionContext.cs
- RegexCode.cs
- ElementAction.cs
- ToolStripButton.cs
- CorePropertiesFilter.cs
- RayMeshGeometry3DHitTestResult.cs
- HMACSHA512.cs
- IncrementalReadDecoders.cs
- TextParagraph.cs
- DataServiceCollectionOfT.cs
- ExcludePathInfo.cs
- FunctionGenerator.cs
- EntityContainerAssociationSet.cs
- XXXInfos.cs
- SchemaAttDef.cs
- DetailsViewUpdateEventArgs.cs
- GPRECT.cs
- BulletDecorator.cs
- ListParagraph.cs
- ExecutionTracker.cs
- BrushValueSerializer.cs
- NullReferenceException.cs
- FileDataSourceCache.cs
- WebPartManagerInternals.cs
- DynamicPropertyHolder.cs
- AlternationConverter.cs
- GrammarBuilder.cs
- ExpressionWriter.cs
- DotAtomReader.cs
- EmptyControlCollection.cs
- Floater.cs
- Latin1Encoding.cs
- KeyTimeConverter.cs
- ClosableStream.cs
- UniqueEventHelper.cs
- Hash.cs
- XmlHelper.cs
- AutomationPropertyInfo.cs
- CreateUserWizardStep.cs
- FixedHighlight.cs
- XmlWellformedWriter.cs
- EventEntry.cs
- TerminatorSinks.cs
- SourceSwitch.cs
- HttpListenerRequest.cs
- MatrixCamera.cs
- SapiAttributeParser.cs
- LogicalExpr.cs
- ValueTable.cs
- SplineKeyFrames.cs
- XmlSchemaExternal.cs
- PassportPrincipal.cs
- TemplateControl.cs
- HtmlMeta.cs
- HttpContextServiceHost.cs
- FileDialogCustomPlacesCollection.cs
- TerminatorSinks.cs
- ExpressionBuilderContext.cs
- MemberAccessException.cs
- TreeNode.cs