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
- Transform3D.cs
- PassportAuthentication.cs
- OleDbStruct.cs
- MenuItemCollection.cs
- ActivityExecutionFilter.cs
- Exceptions.cs
- IQueryable.cs
- ScriptResourceInfo.cs
- DbQueryCommandTree.cs
- HotCommands.cs
- CheckBoxStandardAdapter.cs
- SqlUtils.cs
- TreeViewItem.cs
- SamlDelegatingWriter.cs
- SqlDataSourceCache.cs
- RadioButtonAutomationPeer.cs
- DocumentOutline.cs
- Figure.cs
- TextPenaltyModule.cs
- WebEvents.cs
- CrossContextChannel.cs
- StylusCaptureWithinProperty.cs
- NameTable.cs
- NodeFunctions.cs
- XmlSchemaDatatype.cs
- XmlReader.cs
- SafeCoTaskMem.cs
- ExceptionValidationRule.cs
- DataObjectMethodAttribute.cs
- DataObjectEventArgs.cs
- PopupEventArgs.cs
- SqlStatistics.cs
- QueryConverter.cs
- HandlerFactoryCache.cs
- WebConfigurationHostFileChange.cs
- HebrewCalendar.cs
- TcpServerChannel.cs
- QueryOptionExpression.cs
- DesignerDataColumn.cs
- BaseAsyncResult.cs
- IgnoreFileBuildProvider.cs
- TitleStyle.cs
- ConnectionStringsExpressionBuilder.cs
- ScriptingRoleServiceSection.cs
- IProvider.cs
- HyperLinkField.cs
- TextRangeProviderWrapper.cs
- ConnectionManagementElement.cs
- EllipseGeometry.cs
- PreviousTrackingServiceAttribute.cs
- PieceDirectory.cs
- SelectionHighlightInfo.cs
- Positioning.cs
- HttpProxyCredentialType.cs
- FragmentQueryKB.cs
- WebPartUserCapability.cs
- TextEditorTyping.cs
- SiteMembershipCondition.cs
- Rect.cs
- PropertyChangedEventArgs.cs
- PassportPrincipal.cs
- CompoundFileStorageReference.cs
- CodePageEncoding.cs
- KnownBoxes.cs
- DataControlPagerLinkButton.cs
- PeerTransportSecurityElement.cs
- UnregisterInfo.cs
- ParagraphVisual.cs
- XmlMtomReader.cs
- HtmlString.cs
- AmbientLight.cs
- ToolboxService.cs
- SmiEventSink_DeferedProcessing.cs
- CounterSetInstanceCounterDataSet.cs
- InfoCardCryptoHelper.cs
- ToolStripDropDownDesigner.cs
- MenuEventArgs.cs
- EmptyReadOnlyDictionaryInternal.cs
- CookielessHelper.cs
- HttpConfigurationSystem.cs
- ModifiableIteratorCollection.cs
- TextParagraphProperties.cs
- FramingChannels.cs
- MailAddressCollection.cs
- DoWorkEventArgs.cs
- SmtpNetworkElement.cs
- StorageSetMapping.cs
- EventOpcode.cs
- PropertyPathConverter.cs
- HttpWriter.cs
- MouseGesture.cs
- HintTextMaxWidthConverter.cs
- _UriTypeConverter.cs
- Label.cs
- XmlEntityReference.cs
- EventPropertyMap.cs
- ResourceDisplayNameAttribute.cs
- DataViewManagerListItemTypeDescriptor.cs
- ActivityCodeGenerator.cs
- DataViewListener.cs