| File: FrameworkFork\System.ServiceModel\System\ServiceModel\ServiceContractAttribute.cs | Web Access |
| Project: src\src\dotnet-svcutil\lib\src\dotnet-svcutil-lib.csproj (dotnet-svcutil-lib) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // See the LICENSE file in the project root for more information. using System.ServiceModel.Description; using System.Net.Security; using System.ServiceModel.Security; namespace System.ServiceModel { [AttributeUsage(ServiceModelAttributeTargets.ServiceContract, Inherited = false, AllowMultiple = false)] public sealed class ServiceContractAttribute : Attribute { private Type _callbackContract = null; private string _configurationName; private string _name; private string _ns; private SessionMode _sessionMode; private ProtectionLevel _protectionLevel = ProtectionLevel.None; private bool _hasProtectionLevel = false; public string ConfigurationName { get { return _configurationName; } set { if (value == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("value"); } if (value == string.Empty) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", SRServiceModel.SFxConfigurationNameCannotBeEmpty)); } _configurationName = value; } } public string Name { get { return _name; } set { if (value == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("value"); } if (value == string.Empty) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value", SRServiceModel.SFxNameCannotBeEmpty)); } _name = value; } } public string Namespace { get { return _ns; } set { if (!string.IsNullOrEmpty(value)) NamingHelper.CheckUriProperty(value, "Namespace"); _ns = value; } } public ProtectionLevel ProtectionLevel { get { return _protectionLevel; } set { if (!ProtectionLevelHelper.IsDefined(value)) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value")); _protectionLevel = value; _hasProtectionLevel = true; } } public bool HasProtectionLevel { get { return _hasProtectionLevel; } } public SessionMode SessionMode { get { return _sessionMode; } set { if (!SessionModeHelper.IsDefined(value)) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("value")); } _sessionMode = value; } } public Type CallbackContract { get { return _callbackContract; } set { _callbackContract = value; } } } }