ControlBuilderInterceptor クラス

ControlBuilderInterceptor クラスは、コンパイル処理をカスタマイズまたは制御できるようにします。

構文

internal class ControlBuilderInterceptor

警告

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

「解説」で説明されているように、この型の存在を確認して、インターセプター型のサポートが存在するかどうかを確認することができます。 Microsoft では、状況に関係なく、実稼働アプリケーションでのこのクラスの使用は、これ以外サポートしていません。

解説

.NET Framework 2.0 および .NET Framework 3.5 では、2020 年 8 月の更新プログラムにより、コンパイル プロセスをカスタマイズまたは制御するインターセプター型を使用できるようになりました。 このサポートが存在するかどうかを判断するには、次のコードに示すように、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 月の更新プログラムがインストールされておらず、インターセプターのサポートは存在しません。

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

ASP.NET アプリケーション設定 (<appSettings>) の aspnet:20ControlBuilderInterceptor キーを使用して、インターセプター型を登録します。 このアプリケーション設定は、コンピューターまたはアプリケーションの 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