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
- StructureChangedEventArgs.cs
- PrintSchema.cs
- GeometryValueSerializer.cs
- LogLogRecordHeader.cs
- SecUtil.cs
- ErrorHandlerModule.cs
- RsaSecurityKey.cs
- CookieProtection.cs
- AsymmetricAlgorithm.cs
- FormsIdentity.cs
- VsPropertyGrid.cs
- basevalidator.cs
- SubstitutionList.cs
- KeyedPriorityQueue.cs
- DrawingGroup.cs
- ContextMenu.cs
- CustomServiceCredentials.cs
- recordstatescratchpad.cs
- SoapEnumAttribute.cs
- Point3DAnimationUsingKeyFrames.cs
- SqlFactory.cs
- CalendarAutoFormat.cs
- SqlNotificationEventArgs.cs
- PeerCollaborationPermission.cs
- ApplicationSecurityInfo.cs
- Pair.cs
- ToolStripContextMenu.cs
- BasicCellRelation.cs
- DependencyPropertyKey.cs
- ThreadPool.cs
- GridViewColumnCollection.cs
- EditorZone.cs
- Section.cs
- DynamicDocumentPaginator.cs
- AncestorChangedEventArgs.cs
- FormsAuthenticationTicket.cs
- MachineSettingsSection.cs
- FixedSOMFixedBlock.cs
- FreeFormDesigner.cs
- XmlSchemaParticle.cs
- _ConnectOverlappedAsyncResult.cs
- GeneralTransform3DCollection.cs
- RangeValueProviderWrapper.cs
- ItemsControl.cs
- ErrorHandler.cs
- WebPartUtil.cs
- LinqDataSourceDisposeEventArgs.cs
- WindowsSysHeader.cs
- WindowsFormsLinkLabel.cs
- ResponseBodyWriter.cs
- InstanceDataCollectionCollection.cs
- HttpRequestCacheValidator.cs
- Condition.cs
- ToolStripItem.cs
- SqlRemoveConstantOrderBy.cs
- GestureRecognitionResult.cs
- SqlUserDefinedAggregateAttribute.cs
- GeneralTransform2DTo3D.cs
- DataChangedEventManager.cs
- HitTestDrawingContextWalker.cs
- ReachIDocumentPaginatorSerializerAsync.cs
- HtmlTernaryTree.cs
- UnmanagedMarshal.cs
- HtmlFormParameterReader.cs
- QilLoop.cs
- ExecutionScope.cs
- CollectionChangedEventManager.cs
- MatrixCamera.cs
- StringExpressionSet.cs
- WebResourceUtil.cs
- ChtmlTextWriter.cs
- HttpListenerResponse.cs
- BuildResult.cs
- Form.cs
- ADRole.cs
- SQLInt64Storage.cs
- EntityDataSourceEntityTypeFilterItem.cs
- StickyNoteContentControl.cs
- LayoutTable.cs
- ALinqExpressionVisitor.cs
- WebColorConverter.cs
- ObjectStorage.cs
- WebResourceUtil.cs
- NativeMethodsOther.cs
- DataContractJsonSerializer.cs
- System.Data_BID.cs
- OleDbPermission.cs
- ASCIIEncoding.cs
- AsymmetricSecurityBindingElement.cs
- EqualityComparer.cs
- FixedPageStructure.cs
- TaiwanLunisolarCalendar.cs
- SchemaImporterExtension.cs
- ArraySegment.cs
- EntitySqlQueryBuilder.cs
- SynchronizationLockException.cs
- ObjectSecurity.cs
- SqlXml.cs
- Rule.cs
- ServicesSection.cs