AspNetCompatibilityRequirementsMode 列舉

定義

指定 Windows Communication Foundation (WCF) 服務是否在 (也就是可在) 與 ASP.NET 相容的模式中執行。

C#
public enum AspNetCompatibilityRequirementsMode
繼承
AspNetCompatibilityRequirementsMode

欄位

Allowed 1

WCF 服務可以在應用程式域中執行,ASP.NET 相容性模式設定為 truefalse

NotAllowed 0

WCF 服務必須在應用程式域中執行,ASP.NET 相容性模式設定為 false

Required 2

WCF 服務必須在應用程式域中執行,ASP.NET 相容性模式設定為 true

範例

服務開發人員可以將 屬性設定 AspNetCompatibilityRequirementsAttribute.RequirementsModeRequired ,以確保其服務只在 ASP.NET 相容性模式中執行,如下列範例所示:

C#
[ServiceContract(Namespace="http://Microsoft.ServiceModel.Samples")]
public interface ICalculatorSession
{
    [OperationContract]
    void Clear();
    [OperationContract]
    void AddTo(double n);
    [OperationContract]
    void SubtractFrom(double n);
    [OperationContract]
    void MultiplyBy(double n);
    [OperationContract]
    void DivideBy(double n);
    [OperationContract]
    double Equals();
}
C#
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)]
public class CalculatorService : ICalculatorSession
{
    double result
    {   // Store result in AspNet session.
        get
        {
            if (HttpContext.Current.Session["Result"] != null)
                return (double)HttpContext.Current.Session["Result"];
            return 0.0D;
        }
        set
        {
            HttpContext.Current.Session["Result"] = value;
        }
    }

    public void Clear()
    {
    }

    public void AddTo(double n)
    {
        result += n;
    }

    public void SubtractFrom(double n)
    {
        result -= n;
    }

    public void MultiplyBy(double n)
    {
        result *= n;
    }

    public void DivideBy(double n)
    {
        result /= n;
    }

    public double Equals()
    {
        return result;
    }
}

備註

ASP.NET 相容性模式可讓 WCF 服務使用 ASP 功能,例如身分識別模擬。 這是透過 Web.config 檔案在應用程式層級啟用的,而且無法由應用程式中巢狀的 Web.config 檔案覆寫。 AspNetCompatibilityRequirementsMode未為服務指定值時,預設值為 Allowed 。 如需詳細資訊,請參閱 < serviceHostingEnvironment >

適用於

產品 版本
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8