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
- ProfileGroupSettingsCollection.cs
- SHA384Cng.cs
- IPGlobalProperties.cs
- WarningException.cs
- DictionaryItemsCollection.cs
- ModelItemImpl.cs
- RegexMatch.cs
- MouseOverProperty.cs
- LinqDataSourceDeleteEventArgs.cs
- StoreItemCollection.cs
- PropertyMapper.cs
- WebRequestModulesSection.cs
- Substitution.cs
- GridToolTip.cs
- Identifier.cs
- ListChangedEventArgs.cs
- FixedPageAutomationPeer.cs
- ColorDialog.cs
- SmtpException.cs
- DataObjectMethodAttribute.cs
- RegexStringValidatorAttribute.cs
- RequestResizeEvent.cs
- GridViewColumnHeaderAutomationPeer.cs
- StringStorage.cs
- CommentAction.cs
- SecurityCriticalDataForSet.cs
- ShapingWorkspace.cs
- SeekStoryboard.cs
- CategoryAttribute.cs
- URLAttribute.cs
- BookmarkScopeInfo.cs
- BinaryNode.cs
- Crypto.cs
- SingleStorage.cs
- LOSFormatter.cs
- RoleBoolean.cs
- PrimitiveXmlSerializers.cs
- HtmlHead.cs
- Switch.cs
- CodeExpressionCollection.cs
- ApplicationDirectory.cs
- GradientStopCollection.cs
- RemotingException.cs
- PerfProviderCollection.cs
- GridViewDeleteEventArgs.cs
- UIElementHelper.cs
- CanExecuteRoutedEventArgs.cs
- TcpHostedTransportConfiguration.cs
- WhitespaceRuleReader.cs
- autovalidator.cs
- WizardPanelChangingEventArgs.cs
- CodeGroup.cs
- SelectedPathEditor.cs
- GenericPrincipal.cs
- SpellCheck.cs
- XPathAncestorQuery.cs
- MultipleViewProviderWrapper.cs
- WorkflowApplicationTerminatedException.cs
- EntityCommandExecutionException.cs
- ChannelPoolSettingsElement.cs
- XslNumber.cs
- DetailsViewDeletedEventArgs.cs
- ActivityExecutorSurrogate.cs
- JsonDataContract.cs
- PeerCollaboration.cs
- KeyboardNavigation.cs
- StructuredTypeInfo.cs
- UndirectedGraph.cs
- TextTreeObjectNode.cs
- SetStateEventArgs.cs
- CodePageEncoding.cs
- XamlTreeBuilder.cs
- NavigateEvent.cs
- InfoCardProofToken.cs
- NumericUpDownAccelerationCollection.cs
- DateRangeEvent.cs
- CellNormalizer.cs
- ReadOnlyDataSource.cs
- Normalization.cs
- StructuralObject.cs
- MachineSettingsSection.cs
- GridViewRowPresenter.cs
- CodeTypeReferenceCollection.cs
- UpdatePanelTriggerCollection.cs
- SynchronizationLockException.cs
- GeneralTransform.cs
- RequestCachePolicyConverter.cs
- MessageQueuePermission.cs
- XmlValidatingReaderImpl.cs
- XmlSchemaSimpleType.cs
- DecoderFallbackWithFailureFlag.cs
- TextEditorParagraphs.cs
- InstanceDataCollection.cs
- ConsoleCancelEventArgs.cs
- WebSysDescriptionAttribute.cs
- InheritanceRules.cs
- ComponentEditorPage.cs
- XPathNodeHelper.cs
- PriorityBinding.cs
- LabelDesigner.cs