Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / ServiceModel / Web / WebGetAttribute.cs / 1305376 / WebGetAttribute.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; using System.Collections.Generic; [AttributeUsage(AttributeTargets.Method)] public sealed class WebGetAttribute : Attribute, IOperationContractAttributeProvider, IOperationBehavior, IWmiInstanceProvider { WebMessageBodyStyle bodyStyle; bool isBodyStyleDefined; bool isRequestMessageFormatSet; bool isResponseMessageFormatSet; WebMessageFormat requestMessageFormat; WebMessageFormat responseMessageFormat; string uriTemplate; // Note: HttpTransferEndpointBehavior interprets uriTemplate as: null means 'no opinion', whereas string.Empty means relative path of "" public WebGetAttribute() { } 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 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 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); } string IWmiInstanceProvider.GetInstanceType() { return "WebGetAttribute"; } internal WebMessageBodyStyle GetBodyStyleOrDefault(WebMessageBodyStyle defaultStyle) { if (this.IsBodyStyleSetExplicitly) { return this.BodyStyle; } else { return defaultStyle; } } 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
- TerminatorSinks.cs
- URLString.cs
- ProfileEventArgs.cs
- DataBindingValueUIHandler.cs
- BitmapEffectvisualstate.cs
- InvalidWMPVersionException.cs
- IndexOutOfRangeException.cs
- IdentityHolder.cs
- PseudoWebRequest.cs
- KerberosSecurityTokenAuthenticator.cs
- HttpListener.cs
- EdmProperty.cs
- MonitoringDescriptionAttribute.cs
- VisualStyleRenderer.cs
- PathFigureCollectionConverter.cs
- ShaderRenderModeValidation.cs
- ConversionHelper.cs
- RenderContext.cs
- IntSecurity.cs
- SHA512.cs
- Rotation3DAnimation.cs
- EditorBrowsableAttribute.cs
- DbParameterHelper.cs
- WebPartEditorCancelVerb.cs
- PreviewPageInfo.cs
- StorageScalarPropertyMapping.cs
- NamespaceDecl.cs
- AuthStoreRoleProvider.cs
- Visual3D.cs
- ListViewGroupConverter.cs
- MSHTMLHost.cs
- ValidationSummary.cs
- PropertyNames.cs
- GPPOINTF.cs
- GridProviderWrapper.cs
- X509ThumbprintKeyIdentifierClause.cs
- SmiGettersStream.cs
- SuppressMessageAttribute.cs
- ButtonBase.cs
- HMACSHA512.cs
- GuidConverter.cs
- DynamicResourceExtensionConverter.cs
- XmlObjectSerializerContext.cs
- util.cs
- Lease.cs
- ChannelBuilder.cs
- EntityProviderServices.cs
- DataListItemEventArgs.cs
- ItemChangedEventArgs.cs
- FixedTextSelectionProcessor.cs
- AnimationTimeline.cs
- ScriptResourceAttribute.cs
- WebPartConnectionsDisconnectVerb.cs
- InteropBitmapSource.cs
- ObjectStorage.cs
- contentDescriptor.cs
- InstanceDataCollectionCollection.cs
- DataBinding.cs
- ReliableReplySessionChannel.cs
- EntityCommand.cs
- StreamWithDictionary.cs
- BasicBrowserDialog.cs
- UpdatePanelTrigger.cs
- CqlWriter.cs
- WebPartTracker.cs
- CommandConverter.cs
- Pen.cs
- GuidelineCollection.cs
- HelpEvent.cs
- DecimalAnimationBase.cs
- MessageQueuePermissionAttribute.cs
- DateTimeConstantAttribute.cs
- SoapAttributeOverrides.cs
- SqlProviderManifest.cs
- QuaternionAnimationBase.cs
- XmlMembersMapping.cs
- Effect.cs
- RenderData.cs
- Int16.cs
- List.cs
- SignedXml.cs
- HwndSubclass.cs
- ComUdtElement.cs
- WebPartMenuStyle.cs
- FloatSumAggregationOperator.cs
- X509ServiceCertificateAuthentication.cs
- AtomServiceDocumentSerializer.cs
- FileAuthorizationModule.cs
- RtType.cs
- OptimizerPatterns.cs
- EventHandlerList.cs
- ZipIOModeEnforcingStream.cs
- MachineKeyConverter.cs
- _HeaderInfo.cs
- ItemCheckedEvent.cs
- EncryptedPackageFilter.cs
- StrokeNodeOperations2.cs
- Win32Exception.cs
- FontCacheLogic.cs
- ControlBuilderAttribute.cs