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
- NativeMethods.cs
- XamlGridLengthSerializer.cs
- UpdatePanelTriggerCollection.cs
- DownloadProgressEventArgs.cs
- JsonStringDataContract.cs
- XmlSchemaAttributeGroupRef.cs
- DataGridItemEventArgs.cs
- VisualStyleInformation.cs
- WebPartVerb.cs
- KeyNotFoundException.cs
- PageStatePersister.cs
- PeerNameRecord.cs
- EdmItemCollection.cs
- MsdtcWrapper.cs
- LinqDataSourceHelper.cs
- SchemaNotation.cs
- EventLogEntryCollection.cs
- DBCommandBuilder.cs
- DuplicateWaitObjectException.cs
- KeyGestureConverter.cs
- LineInfo.cs
- InvalidProgramException.cs
- MetadataArtifactLoaderResource.cs
- SizeChangedEventArgs.cs
- MetafileHeader.cs
- XmlKeywords.cs
- StringCollection.cs
- UrlMappingCollection.cs
- TemplateInstanceAttribute.cs
- Animatable.cs
- PopupRoot.cs
- InstanceLockedException.cs
- ConfigurationLockCollection.cs
- CapabilitiesUse.cs
- Reference.cs
- RepeatInfo.cs
- _ShellExpression.cs
- KnownBoxes.cs
- XmlNamespaceManager.cs
- ConstraintCollection.cs
- TreeNodeBinding.cs
- Rect3D.cs
- XmlHelper.cs
- PointCollection.cs
- XamlStyleSerializer.cs
- PageRequestManager.cs
- WmlListAdapter.cs
- BaseValidator.cs
- RequestTimeoutManager.cs
- ActivityInstance.cs
- HttpCapabilitiesBase.cs
- DataGridViewCellMouseEventArgs.cs
- BidPrivateBase.cs
- SiteMap.cs
- Validator.cs
- Events.cs
- RequestCachingSection.cs
- LinkConverter.cs
- PropertyOverridesTypeEditor.cs
- sqlcontext.cs
- EntityStoreSchemaFilterEntry.cs
- InfoCardUIAgent.cs
- Focus.cs
- SqlVisitor.cs
- panel.cs
- RegionData.cs
- CompilerGeneratedAttribute.cs
- DisplayNameAttribute.cs
- AdPostCacheSubstitution.cs
- SplineKeyFrames.cs
- AssemblyUtil.cs
- InvalidPipelineStoreException.cs
- ToolBarButton.cs
- XmlIlVisitor.cs
- DispatcherProcessingDisabled.cs
- DataGridViewAutoSizeColumnsModeEventArgs.cs
- FilteredAttributeCollection.cs
- ListBindingConverter.cs
- columnmapkeybuilder.cs
- Renderer.cs
- GridViewRowPresenter.cs
- WebControlsSection.cs
- DecoderFallbackWithFailureFlag.cs
- ContextMenuStripActionList.cs
- TrackBarRenderer.cs
- Stack.cs
- XmlCharCheckingWriter.cs
- DocumentReference.cs
- Directory.cs
- ArrangedElement.cs
- CodeDesigner.cs
- IPCCacheManager.cs
- BaseParagraph.cs
- SmtpReplyReaderFactory.cs
- NotifyIcon.cs
- CollectionBuilder.cs
- MetroSerializationManager.cs
- DbExpressionRules.cs
- Timeline.cs
- FontWeightConverter.cs