Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / Dispatcher / DispatchOperation.cs / 3 / DispatchOperation.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel.Dispatcher { using System; using System.ServiceModel; using System.Collections.Generic; using System.Security.Principal; public sealed class DispatchOperation { string action; SynchronizedCollectioncallContextInitializers; SynchronizedCollection faultContractInfos; IDispatchMessageFormatter formatter; IDispatchFaultFormatter faultFormatter; ImpersonationOption impersonation; IOperationInvoker invoker; bool isTerminating; string name; SynchronizedCollection parameterInspectors; DispatchRuntime parent; bool releaseInstanceAfterCall; bool releaseInstanceBeforeCall; string replyAction; bool transactionAutoComplete; bool transactionRequired; bool deserializeRequest = true; bool serializeReply = true; bool isOneWay; bool autoDisposeParameters = true; bool hasNoDisposableParameters; bool isFaultFormatterSetExplicit = false; public DispatchOperation(DispatchRuntime parent, string name, string action) { 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.impersonation = OperationBehaviorAttribute.DefaultImpersonationOption; this.callContextInitializers = parent.NewBehaviorCollection (); this.faultContractInfos = parent.NewBehaviorCollection (); this.parameterInspectors = parent.NewBehaviorCollection (); this.isOneWay = true; } public DispatchOperation(DispatchRuntime parent, string name, string action, string replyAction) : this(parent, name, action) { this.replyAction = replyAction; this.isOneWay = false; } public bool IsOneWay { get { return this.isOneWay; } } public string Action { get { return this.action; } } public SynchronizedCollection CallContextInitializers { get { return this.callContextInitializers; } } public SynchronizedCollection FaultContractInfos { get { return this.faultContractInfos; } } public bool AutoDisposeParameters { get { return this.autoDisposeParameters; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.autoDisposeParameters = value; } } } public IDispatchMessageFormatter Formatter { get { return this.formatter; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.formatter = value; } } } internal IDispatchFaultFormatter 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; } } public ImpersonationOption Impersonation { get { return this.impersonation; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.impersonation = value; } } } internal bool HasNoDisposableParameters { get { return this.hasNoDisposableParameters; } set { this.hasNoDisposableParameters = value; } } internal IDispatchMessageFormatter InternalFormatter { get { return this.formatter; } set { this.formatter = value; } } internal IOperationInvoker InternalInvoker { get { return this.invoker; } set { this.invoker = value; } } public IOperationInvoker Invoker { get { return this.invoker; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.invoker = 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 DispatchRuntime Parent { get { return this.parent; } } public bool ReleaseInstanceAfterCall { get { return this.releaseInstanceAfterCall; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.releaseInstanceAfterCall = value; } } } public bool ReleaseInstanceBeforeCall { get { return this.releaseInstanceBeforeCall; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.releaseInstanceBeforeCall = value; } } } public string ReplyAction { get { return this.replyAction; } } public bool DeserializeRequest { get { return this.deserializeRequest; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.deserializeRequest = value; } } } public bool SerializeReply { get { return this.serializeReply; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.serializeReply = value; } } } public bool TransactionAutoComplete { get { return this.transactionAutoComplete; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.transactionAutoComplete = value; } } } public bool TransactionRequired { get { return this.transactionRequired; } set { lock (this.parent.ThisLock) { this.parent.InvalidateRuntime(); this.transactionRequired = 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
- StructuredProperty.cs
- DataServiceHostFactory.cs
- SpecularMaterial.cs
- KnowledgeBase.cs
- MarkupCompilePass2.cs
- TypeExtensionSerializer.cs
- CharacterHit.cs
- HMAC.cs
- MetadataArtifactLoaderCompositeResource.cs
- ClientRequest.cs
- GacUtil.cs
- DataGridRow.cs
- BatchParser.cs
- KnownBoxes.cs
- FileAuthorizationModule.cs
- processwaithandle.cs
- RelationshipEndCollection.cs
- SimpleFileLog.cs
- FillBehavior.cs
- XmlArrayItemAttributes.cs
- PageThemeParser.cs
- _ListenerAsyncResult.cs
- CachedFontFamily.cs
- QueryExtender.cs
- WindowsGraphics.cs
- nulltextcontainer.cs
- Brushes.cs
- ParserStreamGeometryContext.cs
- Transform3DGroup.cs
- SmtpCommands.cs
- TableDetailsCollection.cs
- XmlSerializerFactory.cs
- WindowsRichEditRange.cs
- LayoutEvent.cs
- AutoResetEvent.cs
- FileLoadException.cs
- ComboBoxRenderer.cs
- ApplicationSettingsBase.cs
- DesignerCategoryAttribute.cs
- InfoCardKeyedHashAlgorithm.cs
- XmlMembersMapping.cs
- CharacterString.cs
- ListBindableAttribute.cs
- PaintValueEventArgs.cs
- ListView.cs
- HttpNamespaceReservationInstallComponent.cs
- ReadOnlyState.cs
- ApplicationSettingsBase.cs
- CompositionAdorner.cs
- MemberDescriptor.cs
- MouseEventArgs.cs
- TrackingServices.cs
- Win32SafeHandles.cs
- WebServiceClientProxyGenerator.cs
- DataServiceCollectionOfT.cs
- ImageCollectionEditor.cs
- ScalarOps.cs
- SecurityRuntime.cs
- NetSectionGroup.cs
- RelatedPropertyManager.cs
- ObjectPersistData.cs
- CallbackBehaviorAttribute.cs
- DocumentApplication.cs
- ArglessEventHandlerProxy.cs
- ImplicitInputBrush.cs
- StrokeRenderer.cs
- ParserOptions.cs
- DataRowChangeEvent.cs
- ListViewSelectEventArgs.cs
- DataViewListener.cs
- EditableTreeList.cs
- NavigationEventArgs.cs
- DummyDataSource.cs
- CollectionView.cs
- MergeFailedEvent.cs
- AnnotationAdorner.cs
- PeerHelpers.cs
- ToolboxComponentsCreatedEventArgs.cs
- CodeCastExpression.cs
- GradientSpreadMethodValidation.cs
- EntityDataSourceMemberPath.cs
- HelpEvent.cs
- ObjectView.cs
- CollectionType.cs
- ComponentRenameEvent.cs
- PositiveTimeSpanValidatorAttribute.cs
- DirectoryRootQuery.cs
- UshortList2.cs
- ResourceExpressionBuilder.cs
- ClientScriptItemCollection.cs
- MonthCalendarDesigner.cs
- PolyQuadraticBezierSegmentFigureLogic.cs
- PropertyStore.cs
- COM2ExtendedTypeConverter.cs
- WorkflowInstance.cs
- BindingNavigator.cs
- Console.cs
- CDSsyncETWBCLProvider.cs
- PingReply.cs
- ComplexLine.cs