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
- TableFieldsEditor.cs
- ComponentRenameEvent.cs
- RijndaelManagedTransform.cs
- WmlCommandAdapter.cs
- LabelTarget.cs
- MetadataFile.cs
- ThreadBehavior.cs
- ResourceWriter.cs
- TypeAccessException.cs
- OleDbPermission.cs
- shaper.cs
- StylusShape.cs
- JsonXmlDataContract.cs
- DbReferenceCollection.cs
- XmlNodeWriter.cs
- TextSimpleMarkerProperties.cs
- ProcessHostConfigUtils.cs
- LicenseManager.cs
- ReferenceEqualityComparer.cs
- FormClosedEvent.cs
- AdRotator.cs
- FunctionQuery.cs
- ByeOperationAsyncResult.cs
- BindingElementExtensionElement.cs
- UpDownEvent.cs
- OdbcReferenceCollection.cs
- SQLCharsStorage.cs
- StackSpiller.Generated.cs
- XmlText.cs
- CursorConverter.cs
- ServiceErrorHandler.cs
- UnsafeNativeMethods.cs
- SpeakProgressEventArgs.cs
- SqlProfileProvider.cs
- WebPartTransformerAttribute.cs
- CapiNative.cs
- LostFocusEventManager.cs
- OutputCacheProfileCollection.cs
- bindurihelper.cs
- InsufficientMemoryException.cs
- ValueSerializerAttribute.cs
- AppDomainUnloadedException.cs
- TextRunTypographyProperties.cs
- BasicBrowserDialog.cs
- _AutoWebProxyScriptEngine.cs
- ObjectDataSourceSelectingEventArgs.cs
- WebPartPersonalization.cs
- AndCondition.cs
- ResourceDictionaryCollection.cs
- FontStretches.cs
- RootProjectionNode.cs
- SafeEventLogWriteHandle.cs
- UseLicense.cs
- EditingMode.cs
- SourceFilter.cs
- SmtpReplyReaderFactory.cs
- TransformCryptoHandle.cs
- MarkupExtensionParser.cs
- XmlDocumentFragment.cs
- InlineCollection.cs
- SerializationFieldInfo.cs
- SizeF.cs
- DurableMessageDispatchInspector.cs
- TableProviderWrapper.cs
- GenericEnumerator.cs
- NavigationCommands.cs
- DiffuseMaterial.cs
- StringAttributeCollection.cs
- DelegateArgumentReference.cs
- ProcessThreadDesigner.cs
- PartialCachingControl.cs
- EndPoint.cs
- LockingPersistenceProvider.cs
- SByteConverter.cs
- HybridDictionary.cs
- EntityDataSourceView.cs
- RepeaterItemEventArgs.cs
- Processor.cs
- EnumMemberAttribute.cs
- SoapCodeExporter.cs
- ConstructorBuilder.cs
- LineServicesCallbacks.cs
- CodeRegionDirective.cs
- ListViewTableRow.cs
- IpcManager.cs
- XmlSchemaComplexContent.cs
- HttpModulesSection.cs
- EmptyImpersonationContext.cs
- SmtpNetworkElement.cs
- SqlCharStream.cs
- X509SubjectKeyIdentifierClause.cs
- EventLog.cs
- RawUIStateInputReport.cs
- Size.cs
- TypeLoadException.cs
- TypeListConverter.cs
- XmlTextEncoder.cs
- DBDataPermission.cs
- SerTrace.cs
- DbConnectionStringCommon.cs