Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / ServiceModel / Web / WebInvokeAttribute.cs / 1 / WebInvokeAttribute.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Web { using System; using System.ServiceModel.Description; using System.ServiceModel.Dispatcher; using System.ServiceModel.Channels; using System.ServiceModel.Web; using System.ServiceModel.Administration; [AttributeUsage(AttributeTargets.Method)] public sealed class WebInvokeAttribute : Attribute, IOperationBehavior, IWmiInstanceProvider { WebMessageBodyStyle bodyStyle; bool isBodyStyleDefined; bool isRequestMessageFormatSet; bool isResponseMessageFormatSet; string method; // http verb WebMessageFormat requestMessageFormat; WebMessageFormat responseMessageFormat; string uriTemplate; // Note: HttpTransferEndpointBehavior interprets uriTemplate as: null means 'no opinion', whereas string.Empty means relative path of "" public WebInvokeAttribute() { } public WebMessageBodyStyle BodyStyle { get { return this.bodyStyle; } set { if (!WebMessageBodyStyleHelper.IsDefined(value)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value")); } this.bodyStyle = value; this.isBodyStyleDefined = true; } } public bool IsBodyStyleSetExplicitly { get { return this.isBodyStyleDefined; } } public bool IsRequestFormatSetExplicitly { get { return this.isRequestMessageFormatSet; } } public bool IsResponseFormatSetExplicitly { get { return this.isResponseMessageFormatSet; } } public string Method { get { return this.method; } set { this.method = value; } } public WebMessageFormat RequestFormat { get { return this.requestMessageFormat; } set { if (!WebMessageFormatHelper.IsDefined(value)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value")); } this.requestMessageFormat = value; this.isRequestMessageFormatSet = true; } } public WebMessageFormat ResponseFormat { get { return this.responseMessageFormat; } set { if (!WebMessageFormatHelper.IsDefined(value)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value")); } this.responseMessageFormat = value; this.isResponseMessageFormatSet = true; } } public string UriTemplate { get { return this.uriTemplate; } set { this.uriTemplate = value; } } void IOperationBehavior.AddBindingParameters(OperationDescription operationDescription, BindingParameterCollection bindingParameters) { }// do nothing void IOperationBehavior.ApplyClientBehavior(OperationDescription operationDescription, ClientOperation clientOperation) { }// do nothing void IOperationBehavior.ApplyDispatchBehavior(OperationDescription operationDescription, DispatchOperation dispatchOperation) { }// do nothing void IOperationBehavior.Validate(OperationDescription operationDescription) { }// do nothing internal WebMessageBodyStyle GetBodyStyleOrDefault(WebMessageBodyStyle defaultStyle) { if (this.IsBodyStyleSetExplicitly) { return this.BodyStyle; } else { return defaultStyle; } } void IWmiInstanceProvider.FillInstance(IWmiInstance wmiInstance) { if (wmiInstance == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument("wmiInstance"); } wmiInstance.SetProperty("BodyStyle", this.BodyStyle.ToString()); wmiInstance.SetProperty("IsBodyStyleSetExplicitly", this.IsBodyStyleSetExplicitly.ToString()); wmiInstance.SetProperty("RequestFormat", this.RequestFormat.ToString()); wmiInstance.SetProperty("IsRequestFormatSetExplicitly", this.IsRequestFormatSetExplicitly.ToString()); wmiInstance.SetProperty("ResponseFormat", this.ResponseFormat.ToString()); wmiInstance.SetProperty("IsResponseFormatSetExplicitly", this.IsResponseFormatSetExplicitly.ToString()); wmiInstance.SetProperty("UriTemplate", this.UriTemplate); wmiInstance.SetProperty("Method", this.Method); } string IWmiInstanceProvider.GetInstanceType() { return "WebInvokeAttribute"; } } } // 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
- ProcessModelSection.cs
- TypeDependencyAttribute.cs
- XmlSerializer.cs
- VariableValue.cs
- CaseInsensitiveHashCodeProvider.cs
- _LazyAsyncResult.cs
- RuleElement.cs
- ScrollChrome.cs
- SignerInfo.cs
- ObjectStateEntryDbDataRecord.cs
- DirectionalLight.cs
- TextControlDesigner.cs
- PackUriHelper.cs
- SafeRegistryKey.cs
- login.cs
- DecoratedNameAttribute.cs
- XmlToDatasetMap.cs
- DataGrid.cs
- UpdatePanelTriggerCollection.cs
- Italic.cs
- ToolboxBitmapAttribute.cs
- DataBindEngine.cs
- HostVisual.cs
- ConsumerConnectionPoint.cs
- UrlPath.cs
- System.Data_BID.cs
- Accessors.cs
- ItemList.cs
- SchemaManager.cs
- SHA1Managed.cs
- InvalidEnumArgumentException.cs
- xamlnodes.cs
- ContextConfiguration.cs
- RuleSetReference.cs
- InvalidCommandTreeException.cs
- FileDetails.cs
- _HelperAsyncResults.cs
- ValidationPropertyAttribute.cs
- AcceleratedTokenProviderState.cs
- SerializationSectionGroup.cs
- InheritanceRules.cs
- BuildTopDownAttribute.cs
- SqlInfoMessageEvent.cs
- ColorMatrix.cs
- RefType.cs
- __TransparentProxy.cs
- DbParameterCollection.cs
- NonVisualControlAttribute.cs
- TextTreeDeleteContentUndoUnit.cs
- SigningCredentials.cs
- ComponentRenameEvent.cs
- Package.cs
- QueryModel.cs
- TimeEnumHelper.cs
- InstanceNotReadyException.cs
- ThemeInfoAttribute.cs
- EntityDataSourceChangedEventArgs.cs
- TrackingCondition.cs
- NetworkCredential.cs
- FolderNameEditor.cs
- XmlReaderDelegator.cs
- DefaultValueAttribute.cs
- MenuItemCollection.cs
- ImageBrush.cs
- SHA256Managed.cs
- ErrorRuntimeConfig.cs
- EntitySetBaseCollection.cs
- ScrollableControl.cs
- AQNBuilder.cs
- EntityModelSchemaGenerator.cs
- DataColumnPropertyDescriptor.cs
- _SslSessionsCache.cs
- TabControl.cs
- ByteStack.cs
- NavigationPropertyEmitter.cs
- WorkflowView.cs
- DataTableCollection.cs
- WorkflowLayouts.cs
- WebEvents.cs
- ModelUtilities.cs
- TextEditorSelection.cs
- XDeferredAxisSource.cs
- SoapCodeExporter.cs
- SynchronizationHandlesCodeDomSerializer.cs
- FileSecurity.cs
- SafeBuffer.cs
- HwndMouseInputProvider.cs
- x509store.cs
- XmlObjectSerializerWriteContext.cs
- ConfigurationElementCollection.cs
- HybridObjectCache.cs
- TreeView.cs
- SiteIdentityPermission.cs
- NotFiniteNumberException.cs
- ClusterUtils.cs
- OdbcFactory.cs
- SafeRegistryHandle.cs
- SqlUserDefinedAggregateAttribute.cs
- Rectangle.cs
- HttpErrorTraceRecord.cs