次の方法で共有


ControlBuilderInterceptor クラス

ControlBuilderInterceptor クラスを使用すると、コンパイル プロセスをカスタマイズまたは制御できます。

構文

internal class ControlBuilderInterceptor

警告

ControlBuilderInterceptor クラスは内部クラスであり、コード内で直接使用するためのものではありません。

「解説」セクションで説明されているように、この型の存在を確認して、インターセプター型のサポートが存在するかどうかを判断できます。 Microsoft は、いかなる状況でも、運用環境のアプリケーションでこのクラスの他の使用をサポートしていません。

備考

.NET Framework 2.0 および .NET Framework 3.5 では、August 2020 更新プログラムにより、インターセプター型を使用してコンパイル プロセスをカスタマイズまたは制御するためのサポートが追加されました。 このサポートが存在するかどうかを判断するには、次のコードに示すように、Type.GetType() を使用して ControlBuilderInterceptor 型の存在を確認します。

Type type = Type.GetType("System.Web.Compilation.ControlBuilderInterceptor, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a");

戻り値が null 以外の場合は、インターセプターのサポートが存在します。 戻り値が null場合、または例外がスローされた場合、2020 年 8 月の更新プログラムはインストールされておらず、インターセプターのサポートはありません。

インターセプターのサポートが存在する場合は、ControlBuilderInterceptor が .NET Framework の新しいバージョンで行うのとまったく同じ方法でコンパイル プロセスと対話するインターセプター型を記述して登録できます。 .NET Framework 2.0 および .NET Framework 3.5 では、インターセプターの種類は、次の要件を満たす任意のクラスにすることができます。

アプリケーション設定 (<appSettings>) で aspnet:20ControlBuilderInterceptor キーを使用してインターセプターの種類 ASP.NET 登録します。 このアプリケーション設定は、コンピューターまたはアプリケーションの web.config ファイルに一覧表示されている必要があります。 アセンブリ修飾型名を使用してインターセプター型を指定します。 次の例は、Fabrikam.Interceptorという名前のインターセプター型を登録する方法を示しています。

<configuration>
  ...
  <appSettings>
    ...
    <add key="aspnet:20ControlBuilderInterceptor"
         value="Fabrikam.Interceptor, Fabrikam, Version=1.0.0.0, Culture=neutral, PublicKeyToken=2b3831f2f2b744f7" />
  </appSettings>
</configuration>

型のアセンブリ修飾名を取得するには、次のコードに示すように、Type.AssemblyQualifiedName プロパティを使用します。

string assemblyQualifiedName = typeof(Fabrikam.Interceptor).AssemblyQualifiedName;

インターセプターのサポートが存在する場合、コンパイル プロセスは、上記の方法でリストされている型と対話します。 インターセプターのサポートがない場合、アプリケーション設定は無視され、影響はありません。

必要条件

名前空間: System.Web.Compilation

アセンブリ: System.Web (System.Web.dll内)

.NET Framework のバージョン: 3.5、2.0