| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- //------------------------------------------------------------
- // Copyright (c) Microsoft Corporation. All rights reserved.
- //------------------------------------------------------------
- namespace System.ServiceModel
- {
- using System.Reflection;
- using System.ServiceModel.Security;
- using System.Net.Security;
- using System.ServiceModel.Description;
- [AttributeUsage(ServiceModelAttributeTargets.OperationContract, AllowMultiple = true, Inherited = false)]
- public sealed class FaultContractAttribute : Attribute
- {
- string action;
- string name;
- string ns;
- Type type;
- ProtectionLevel protectionLevel = ProtectionLevel.None;
- bool hasProtectionLevel = false;
- public FaultContractAttribute(Type detailType)
- {
- if (detailType == null)
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentNullException("detailType"));
- this.type = detailType;
- }
- public Type DetailType
- {
- get { return this.type; }
- }
- public string Action
- {
- get { return this.action; }
- set
- {
- if (value == null)
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("value");
- this.action = value;
- }
- }
- public string Name
- {
- get { return this.name; }
- set
- {
- if (value == null)
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("value");
- if (value == string.Empty)
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value",
- SR.GetString(SR.SFxNameCannotBeEmpty)));
- this.name = value;
- }
- }
- public string Namespace
- {
- get { return this.ns; }
- set
- {
- if (!string.IsNullOrEmpty(value))
- NamingHelper.CheckUriProperty(value, "Namespace");
- this.ns = value;
- }
- }
- internal const string ProtectionLevelPropertyName = "ProtectionLevel";
- public ProtectionLevel ProtectionLevel
- {
- get
- {
- return this.protectionLevel;
- }
- set
- {
- if (!ProtectionLevelHelper.IsDefined(value))
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value"));
- this.protectionLevel = value;
- this.hasProtectionLevel = true;
- }
- }
- public bool HasProtectionLevel
- {
- get { return this.hasProtectionLevel; }
- }
- }
- }
|