Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / ServiceModel / Web / WebInvokeAttribute.cs / 1305376 / 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, IOperationContractAttributeProvider, 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"; } OperationContractAttribute IOperationContractAttributeProvider.GetOperationContractAttribute() { return new OperationContractAttribute(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ConvertEvent.cs
- Journaling.cs
- TextEditor.cs
- DataKey.cs
- RegistrationServices.cs
- XpsImageSerializationService.cs
- ZipIOExtraFieldZip64Element.cs
- ProxyDataContractResolver.cs
- XmlSerializationReader.cs
- WinOEToolBoxItem.cs
- XmlBaseWriter.cs
- CmsInterop.cs
- CodeIdentifier.cs
- HttpGetProtocolImporter.cs
- dtdvalidator.cs
- DocumentXmlWriter.cs
- SHA256Managed.cs
- SurrogateEncoder.cs
- TextChange.cs
- SectionXmlInfo.cs
- _AutoWebProxyScriptHelper.cs
- CategoryEditor.cs
- DataGridPageChangedEventArgs.cs
- WebCategoryAttribute.cs
- MarkupCompilePass1.cs
- PerspectiveCamera.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- SoapHeaderAttribute.cs
- TextViewBase.cs
- PlainXmlDeserializer.cs
- SchemaImporterExtensionElement.cs
- BamlRecordReader.cs
- WindowsListViewGroupSubsetLink.cs
- SystemUdpStatistics.cs
- NameValueSectionHandler.cs
- DocumentCollection.cs
- ApplicationTrust.cs
- CleanUpVirtualizedItemEventArgs.cs
- RedistVersionInfo.cs
- TypeForwardedToAttribute.cs
- ObjectNotFoundException.cs
- DirectoryObjectSecurity.cs
- HitTestDrawingContextWalker.cs
- Base64Stream.cs
- AsnEncodedData.cs
- SpecularMaterial.cs
- TypeExtensionConverter.cs
- BasePattern.cs
- SQLMoney.cs
- TextEditorLists.cs
- HttpApplicationStateBase.cs
- StreamGeometryContext.cs
- RegexWriter.cs
- Line.cs
- PixelFormats.cs
- SiteIdentityPermission.cs
- ToolStripDropTargetManager.cs
- CellIdBoolean.cs
- SQlBooleanStorage.cs
- ProviderCollection.cs
- EncryptedXml.cs
- JsonObjectDataContract.cs
- PerformanceCounter.cs
- ZipIOExtraField.cs
- AvtEvent.cs
- StorageComplexPropertyMapping.cs
- SqlNotificationEventArgs.cs
- SubMenuStyleCollectionEditor.cs
- DisableDpiAwarenessAttribute.cs
- ComEventsHelper.cs
- PassportIdentity.cs
- PointHitTestParameters.cs
- TypeDelegator.cs
- DataGridViewCellStateChangedEventArgs.cs
- NativeMethods.cs
- StylusPointProperties.cs
- WindowsListView.cs
- ReflectionUtil.cs
- TransportListener.cs
- QuestionEventArgs.cs
- SrgsSubset.cs
- ValidationManager.cs
- WebPartCloseVerb.cs
- ChildChangedEventArgs.cs
- DataGridRowHeader.cs
- GridViewSortEventArgs.cs
- BitmapEffectDrawing.cs
- BrushValueSerializer.cs
- VectorCollection.cs
- FileChangesMonitor.cs
- TagPrefixAttribute.cs
- Formatter.cs
- XmlSerializer.cs
- DocumentViewerBase.cs
- HMAC.cs
- PopOutPanel.cs
- Timer.cs
- XmlSchemaSequence.cs
- TextTreeRootNode.cs
- _AutoWebProxyScriptEngine.cs