AspNetCompatibilityRequirementsAttribute AspNetCompatibilityRequirementsAttribute AspNetCompatibilityRequirementsAttribute AspNetCompatibilityRequirementsAttribute Class

定義

Windows Communication Foundation (WCF) サービスが ASP.NET 互換コードで実行できるかどうかを示すために、このサービスに適用されます。Applied to a Windows Communication Foundation (WCF) service to indicate whether that service can be run in ASP.NET compatibility code.

public ref class AspNetCompatibilityRequirementsAttribute sealed : Attribute, System::ServiceModel::Description::IServiceBehavior
[System.AttributeUsage(System.AttributeTargets.Class)]
public sealed class AspNetCompatibilityRequirementsAttribute : Attribute, System.ServiceModel.Description.IServiceBehavior
type AspNetCompatibilityRequirementsAttribute = class
    inherit Attribute
    interface IServiceBehavior
Public NotInheritable Class AspNetCompatibilityRequirementsAttribute
Inherits Attribute
Implements IServiceBehavior
継承
AspNetCompatibilityRequirementsAttributeAspNetCompatibilityRequirementsAttributeAspNetCompatibilityRequirementsAttributeAspNetCompatibilityRequirementsAttribute
属性
実装

サービス開発者が、サービスが設定して実行 ASP.NET 互換モードでのみを確認することができます、RequirementsModeプロパティをAspNetCompatibilityRequirementsAttributeRequired次の例に示すようにService developers can ensure that their service is only run in ASP.NET Compatibility Mode by setting the RequirementsMode property on the AspNetCompatibilityRequirementsAttribute to Required as shown in the following example

[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();
}
<ServiceContract(Namespace:="http://Microsoft.ServiceModel.Samples")> _
Public Interface ICalculatorSession

    <OperationContract()> _
    Sub Clear()
    <OperationContract()> _
    Sub AddTo(ByVal n As Double)
    <OperationContract()> _
    Sub SubtractFrom(ByVal n As Double)
    <OperationContract()> _
    Sub MultiplyBy(ByVal n As Double)
    <OperationContract()> _
    Sub DivideBy(ByVal n As Double)
    <OperationContract()> _
    Function Equal() As Double
End Interface
[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;
    }
}
    <AspNetCompatibilityRequirements(RequirementsMode:=AspNetCompatibilityRequirementsMode.Required)> _
    Public Class CalculatorService
        Implements ICalculatorSession

        Property Result() As Double
            ' Store result in AspNet Session.
            Get
                If (HttpContext.Current.Session("Result") Is Nothing) Then
                    Return 0D
                End If
                Return HttpContext.Current.Session("Result")
            End Get
            Set(ByVal value As Double)
                HttpContext.Current.Session("Result") = value
            End Set
        End Property

        Public Sub Clear() _
 Implements ICalculatorSession.Clear
            Result = 0D
        End Sub

        Public Sub AddTo(ByVal n As Double) _
Implements ICalculatorSession.AddTo
            Result += n
        End Sub

        Public Sub SubtractFrom(ByVal n As Double) _
Implements ICalculatorSession.SubtractFrom

            Result -= n
        End Sub

        Public Sub MultiplyBy(ByVal n As Double) _
Implements ICalculatorSession.MultiplyBy

            Result *= n
        End Sub

        Public Sub DivideBy(ByVal n As Double) _
Implements ICalculatorSession.DivideBy

            Result /= n
        End Sub

        Public Function Equal() As Double _
Implements ICalculatorSession.Equal

            Return Result
        End Function
    End Class

注釈

サービス実装クラスに適用した場合、この属性は、このサービスがホスト アプリケーション ドメイン (AppDomain) に対して ASP.NETASP.NET 互換モードを有効にする必要があるかどうか、またはそのモードをサポートする必要があるかどうかを指示します。When applied to a service implementation class, this attribute indicates whether this service requires or supports ASP.NETASP.NET compatibility mode to be enabled for the hosting application domain (AppDomain).

WCF サービスをホストする Appdomain は、2 つの異なるホスト モードで実行できます。AppDomains hosting WCF services can run in two different hosting modes:

  • 混合トランスポート モード (既定値):このモードでの WCF サービスに参加していない、 ASP.NETASP.NET HTTP パイプライン。Mixed Transports Mode (Default): In this mode, WCF services do not participate in the ASP.NETASP.NET HTTP pipeline. これにより、WCF サービスに、一貫した動作するホスティング環境やトランスポートに依存しません。This guarantees that a WCF service behaves consistently, independent of hosting environment and transport.

  • ASP.NETASP.NET 互換モード:このモードでの WCF サービスの参加で、 ASP.NETASP.NET ASMX サービスと同様の方法で HTTP パイプライン。Compatibility Mode: In this mode, WCF services participate in the ASP.NETASP.NET HTTP pipeline in a manner similar to ASMX services. ASP.NETASP.NET ファイルの承認、UrlAuthorization、および HTTP セッション状態などの機能は、このモードで実行されている WCF サービスに適用されます。features such as File Authorization, UrlAuthorization, and HTTP Session State are applicable to WCF services running in this mode.

ホスト モードは、アプリケーション レベルの構成フラグである aspNetCompatibilityEnabled によって制御されます。The hosting mode is controlled by the application-level configuration flag aspNetCompatibilityEnabled.

<system.serviceModel>

<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>

</system.serviceModel>

このフラグはfalseで既定および WCF サービスで実行は混合トランスポート モードを明示的に選択する場合を除き、ASP.NETASP.NET互換モード。This flag is false by default and thus WCF services run in the Mixed Transports Mode unless you explicitly opt into the ASP.NETASP.NET compatibility mode.

ASP.NET 互換モードの詳細については、次を参照してください。 <serviceHostingEnvironment>します。For more information about ASP.NET compatibility mode, see <serviceHostingEnvironment>.

これを行うには、RequirementsMode プロパティを使用します。Use the RequirementsMode property to do this. 実行時、アプリケーションは、静的プロパティ ASP.NETASP.NET の値を確認することにより、AspNetCompatibilityEnabled 互換モードが有効であるかどうかを検出できます。At runtime, applications can detect if ASP.NETASP.NET compatibility mode is enabled by checking the value of the static property AspNetCompatibilityEnabled.

コンストラクター

AspNetCompatibilityRequirementsAttribute() AspNetCompatibilityRequirementsAttribute() AspNetCompatibilityRequirementsAttribute() AspNetCompatibilityRequirementsAttribute()

AspNetCompatibilityRequirementsAttribute クラスの新しいインスタンスを初期化します。Initializes a new instance of the AspNetCompatibilityRequirementsAttribute class.

プロパティ

RequirementsMode RequirementsMode RequirementsMode RequirementsMode

サービスが要求する ASP.NETASP.NET 互換性レベルを取得または設定します。Gets or sets the level of ASP.NETASP.NET compatibility required by the service.

TypeId TypeId TypeId TypeId

派生クラスで実装されると、この Attribute の一意の識別子を取得します。When implemented in a derived class, gets a unique identifier for this Attribute.

(Inherited from Attribute)

明示的なインターフェイスの実装

IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection) IServiceBehavior.AddBindingParameters(ServiceDescription, ServiceHostBase, Collection<ServiceEndpoint>, BindingParameterCollection)

コントラクトの実装をサポートするためにバインド要素からアクセスできるカスタム データを追加します。Adds custom data that the binding elements can access to support the implementation of the contract.

IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase) IServiceBehavior.ApplyDispatchBehavior(ServiceDescription, ServiceHostBase)

ホストの種類が ASP.NETASP.NET 互換要件と一致していることを確認します。Checks that the type of hosting is consistent with the ASP.NETASP.NET compatibility requirements.

IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) IServiceBehavior.Validate(ServiceDescription, ServiceHostBase) IServiceBehavior.Validate(ServiceDescription, ServiceHostBase)

サービス動作を検証します。Validates the service behavior.

_Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr) _Attribute.GetIDsOfNames(Guid, IntPtr, UInt32, UInt32, IntPtr)

一連の名前を対応する一連のディスパッチ識別子に割り当てます。Maps a set of names to a corresponding set of dispatch identifiers.

(Inherited from Attribute)
_Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr) _Attribute.GetTypeInfo(UInt32, UInt32, IntPtr)

オブジェクトの型情報を取得します。この情報はインターフェイスの型情報の取得に使用できます。Retrieves the type information for an object, which can be used to get the type information for an interface.

(Inherited from Attribute)
_Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32) _Attribute.GetTypeInfoCount(UInt32)

オブジェクトが提供する型情報インターフェイスの数 (0 または 1) を取得します。Retrieves the number of type information interfaces that an object provides (either 0 or 1).

(Inherited from Attribute)
_Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr) _Attribute.Invoke(UInt32, Guid, UInt32, Int16, IntPtr, IntPtr, IntPtr, IntPtr)

オブジェクトによって公開されたプロパティおよびメソッドへのアクセスを提供します。Provides access to properties and methods exposed by an object.

(Inherited from Attribute)

メソッド

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

このインスタンスが、指定されたオブジェクトと等価であるかどうかを示す値を返します。Returns a value that indicates whether this instance is equal to a specified object.

(Inherited from Attribute)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

このインスタンスのハッシュ コードを返します。Returns the hash code for this instance.

(Inherited from Attribute)
GetType() GetType() GetType() GetType()

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(Inherited from Object)
IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute() IsDefaultAttribute()

派生クラスでオーバーライドされるとき、このインスタンスの値が派生クラスの既定値であるかどうかを示します。When overridden in a derived class, indicates whether the value of this instance is the default value for the derived class.

(Inherited from Attribute)
Match(Object) Match(Object) Match(Object) Match(Object)

派生クラス内でオーバーライドされたときに、指定したオブジェクトとこのインスタンスが等しいかどうかを示す値を返します。When overridden in a derived class, returns a value that indicates whether this instance equals a specified object.

(Inherited from Attribute)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(Inherited from Object)
ToString() ToString() ToString() ToString()

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(Inherited from Object)

適用対象