Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / ServiceModel / Web / WebGetAttribute.cs / 1 / 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, 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; } } } } // 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
- SqlMultiplexer.cs
- AsyncStreamReader.cs
- WebPartDisplayModeCancelEventArgs.cs
- XamlTypeWithExplicitNamespace.cs
- HttpCachePolicy.cs
- ConnectionOrientedTransportChannelFactory.cs
- Utils.cs
- XmlWellformedWriter.cs
- PagerSettings.cs
- Style.cs
- filewebrequest.cs
- TracingConnectionListener.cs
- DbProviderSpecificTypePropertyAttribute.cs
- ClockGroup.cs
- BadImageFormatException.cs
- serverconfig.cs
- RenderDataDrawingContext.cs
- SelectionRangeConverter.cs
- BindingContext.cs
- WorkflowElementDialog.cs
- NonBatchDirectoryCompiler.cs
- DiscoveryReference.cs
- XmlCharType.cs
- BaseAppDomainProtocolHandler.cs
- ToolStripMenuItem.cs
- VirtualizingStackPanel.cs
- RegisteredHiddenField.cs
- ComboBox.cs
- WindowsListViewGroup.cs
- SafePEFileHandle.cs
- X509ChainPolicy.cs
- DataTableReader.cs
- ApplicationSecurityManager.cs
- System.Data_BID.cs
- isolationinterop.cs
- _NTAuthentication.cs
- _ShellExpression.cs
- CompensatableSequenceActivity.cs
- TextFormatterHost.cs
- FamilyMapCollection.cs
- FillRuleValidation.cs
- ProfileParameter.cs
- Geometry3D.cs
- PageThemeParser.cs
- ProcessHostServerConfig.cs
- Enlistment.cs
- XmlSerializationWriter.cs
- DataControlPagerLinkButton.cs
- BitmapEffectCollection.cs
- complextypematerializer.cs
- ComponentCollection.cs
- Profiler.cs
- FrameworkElementFactoryMarkupObject.cs
- HMACSHA512.cs
- ColumnResizeUndoUnit.cs
- ProfilePropertySettingsCollection.cs
- Single.cs
- WindowsScrollBar.cs
- PermissionListSet.cs
- RNGCryptoServiceProvider.cs
- AutoCompleteStringCollection.cs
- WindowsAuthenticationModule.cs
- Accessible.cs
- MinimizableAttributeTypeConverter.cs
- SessionSymmetricMessageSecurityProtocolFactory.cs
- OdbcConnectionHandle.cs
- ClientRoleProvider.cs
- EncoderParameters.cs
- EdmPropertyAttribute.cs
- PhonemeEventArgs.cs
- StreamingContext.cs
- PerfService.cs
- ObjectHandle.cs
- CodeCastExpression.cs
- Transform3D.cs
- IntSecurity.cs
- AsyncResult.cs
- ComplexPropertyEntry.cs
- IUnknownConstantAttribute.cs
- RegistryPermission.cs
- ControlBuilderAttribute.cs
- EdgeProfileValidation.cs
- FileDetails.cs
- __TransparentProxy.cs
- WithParamAction.cs
- SectionRecord.cs
- EnumerableValidator.cs
- SrgsGrammarCompiler.cs
- Messages.cs
- Compilation.cs
- xsdvalidator.cs
- ClusterRegistryConfigurationProvider.cs
- MultipleViewProviderWrapper.cs
- TraceHwndHost.cs
- Win32Native.cs
- Positioning.cs
- MultipleViewProviderWrapper.cs
- ReceiveSecurityHeader.cs
- TextBox.cs
- OrderByLifter.cs