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
- HttpApplicationStateWrapper.cs
- StrokeCollectionDefaultValueFactory.cs
- DataServiceQueryOfT.cs
- Size.cs
- ColumnMap.cs
- QueryCacheManager.cs
- ExpressionVisitor.cs
- sqlser.cs
- DefaultPrintController.cs
- DiffuseMaterial.cs
- Storyboard.cs
- ShutDownListener.cs
- CaseInsensitiveOrdinalStringComparer.cs
- XmlSchemaSequence.cs
- XmlValidatingReaderImpl.cs
- WeakHashtable.cs
- IgnoreSectionHandler.cs
- SaveLedgerEntryRequest.cs
- TransactionsSectionGroup.cs
- ImmutableDispatchRuntime.cs
- PageTextBox.cs
- DataGridViewDataConnection.cs
- ThemeDictionaryExtension.cs
- URLIdentityPermission.cs
- Matrix3DStack.cs
- LinqDataSourceInsertEventArgs.cs
- BinHexEncoder.cs
- ParameterCollection.cs
- DefaultBinder.cs
- Update.cs
- Timer.cs
- ClaimComparer.cs
- ObjectDataSourceMethodEventArgs.cs
- ADMembershipUser.cs
- ResourcesGenerator.cs
- RegisterInfo.cs
- WorkflowDefinitionDispenser.cs
- BinHexEncoder.cs
- fixedPageContentExtractor.cs
- Thread.cs
- SharedPersonalizationStateInfo.cs
- WindowsStatic.cs
- PropertyNames.cs
- MetadataArtifactLoaderResource.cs
- TdsParserStaticMethods.cs
- SystemColorTracker.cs
- KeyEventArgs.cs
- DataGridViewLayoutData.cs
- PaperSize.cs
- TextEncodedRawTextWriter.cs
- XmlTextEncoder.cs
- dataSvcMapFileLoader.cs
- Model3DCollection.cs
- Canvas.cs
- ValidationRuleCollection.cs
- AttachedPropertyBrowsableWhenAttributePresentAttribute.cs
- FlowLayoutPanelDesigner.cs
- Transaction.cs
- TextEvent.cs
- CaseInsensitiveComparer.cs
- DocumentOrderComparer.cs
- OneOfConst.cs
- PowerModeChangedEventArgs.cs
- ObjectStateFormatter.cs
- XhtmlBasicSelectionListAdapter.cs
- DataContext.cs
- InvalidProgramException.cs
- ByteKeyFrameCollection.cs
- errorpatternmatcher.cs
- Types.cs
- Transform3DGroup.cs
- DataServiceRequestArgs.cs
- ValidationSummary.cs
- objectresult_tresulttype.cs
- OutOfProcStateClientManager.cs
- XmlReturnWriter.cs
- ProxyWebPartConnectionCollection.cs
- NullRuntimeConfig.cs
- XmlSerializationGeneratedCode.cs
- Timer.cs
- GregorianCalendar.cs
- DataServiceQueryException.cs
- DecimalAnimation.cs
- ConfigurationValues.cs
- SelectedGridItemChangedEvent.cs
- WebChannelFactory.cs
- TextEditorTyping.cs
- DrawingAttributes.cs
- OneOfElement.cs
- DataGridItem.cs
- ClonableStack.cs
- input.cs
- HttpHandlerAction.cs
- AccessibleObject.cs
- EventProvider.cs
- arabicshape.cs
- TextPatternIdentifiers.cs
- XmlCharType.cs
- MostlySingletonList.cs
- CodeGenerator.cs