ASP.NET ブラウザ登録ツール (Aspnet_regbrowsers.exe)
ASP.NET ブラウザ登録ツールは、システム全体に有効なすべてのブラウザ定義を解析してアセンブリにコンパイルし、そのアセンブリをグローバル アセンブリ キャッシュにインストールします。このツールは、.NET Framework Browsers サブディレクトリのブラウザ定義ファイル (.BROWSER ファイル) を使用します。このツールは、%SystemRoot%\Microsoft.NET\Framework\version\ ディレクトリ内にあります。
ASP.NET Version 1.1 では、Machine.config ファイルに <browserCaps> というセクションがありました。このセクションには、各種のブラウザの構成を正規表現に基づいて定義した一連の XML エントリが含まれていました。ASP.NET Version 2.0 では、新しい .BROWSER ファイルに特定のブラウザのパラメータが XML エントリを使って定義されます。システムの %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers にあるフォルダに新しい .BROWSER ファイルを追加して、新しいブラウザの情報を追加します。
アプリケーションでブラウザ情報が必要になるたびに .config ファイルが読み込まれるわけではないため、新しい .BROWSER ファイルを追加し、Aspnet_regbrowsers.exe を実行すると、必要な変更をアセンブリに追加できます。これにより、サーバーは新しいブラウザ情報にすぐにアクセスできるので、アプリケーションをシャットダウンしなくても情報を取得できます。アプリケーションは、現在の HttpRequest の Browser プロパティを通じてブラウザ機能にアクセスできます。
構文
aspnet_regbrowsers.exe <options>
オプション
オプション | 説明 |
---|---|
-? |
Aspnet_regbbrowsers.exe のヘルプ テキストをコマンド ウィンドウに表示します。 |
-i |
ランタイム ブラウザ機能アセンブリを作成し、グローバル アセンブリ キャッシュにインストールします。 |
-u |
ランタイム ブラウザ機能アセンブリをグローバル アセンブリ キャッシュからアンインストールします。 |
解説
ブラウザ定義ファイルには、システム全体に有効なファイルと、特定のアプリケーションのみに有効なファイルの 2 種類があります。ファイルは、種類ごとに異なる場所に格納されます。システム全体のブラウザ定義ファイルは、%SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers ディレクトリに格納されます。このディレクトリには、対応するバージョンの .NET Framework に用意された定義済みのブラウザ定義ファイルと、ソフトウェアの更新または Service Pack からコピーされた追加のブラウザ定義ファイルが格納されます。ASP.NET に付属する定義済みのブラウザ定義ファイルは変更しないでください。これは、Service Pack によってそれらのファイルが更新され、変更が上書きされる可能性があるためです。
アプリケーション固有のブラウザ定義ファイルは、アプリケーションの App_Browsers ディレクトリに格納できます。どちらの場所でも、ブラウザ定義ファイルには .BROWSER というファイル名拡張子を付けてください。ASP.NET ブラウザ登録ツールを使用しても、アプリケーションの App_Browsers ディレクトリに格納されているアプリケーション固有のブラウザ定義ファイルは変更されません。
ブラウザ定義ファイルがシステム レベルで変更された場合、ブラウザ定義の更新はすべてのアプリケーションに自動的には適用されません。ASP.NET ブラウザ登録ツールを実行して、ブラウザ機能アセンブリを更新する必要があります。
メモ : |
---|
ASP.NET ブラウザ登録ツールは、ツールのバージョンに対応するバージョンの .NET Framework の Browsers ディレクトリにあるブラウザ定義をコンパイルします。.NET Framework のバージョンごとに、登録ツールのコピーが個別に存在します。 |
ASP.NET ブラウザ登録ツールは、システム全体に有効なすべてのブラウザ定義を解析してアセンブリにコンパイルし、そのアセンブリをグローバル アセンブリ キャッシュにインストールします。システム全体のブラウザ定義にエラーがある場合、ツールはそのエラーを報告します。ブラウザ機能アセンブリは、システムにあるすべての Web アプリケーションで使用されます。また、BrowserCapabilitiesCodeGenerator クラスを使用して、システム全体のブラウザ定義ファイルをプログラムで再コンパイルできます。
動作
ASP.NET ブラウザ登録ツールを実行すると、新しいアセンブリが作成され、Machine.config ファイルを変更したのと同じ効果がすべての Web アプリケーションに及びます。実行中のすべての Web アプリケーションが再利用され、Microsoft Internet Information Services (IIS) が再起動されます。また、このツールは、ランダムなプライベート トークン ファイルも生成し、アセンブリに署名するためのキー ファイルも作成します。これにより、アセンブリはグローバル アセンブリ キャッシュにインストールできるようになります。ツールの終了時にこのキー ファイルは削除され、公開キーだけが残されます。
実行時にブラウザ定義ファイル情報は、BrowserCapabilitiesFactory オブジェクト内の既知のブラウザのコレクションにマージされます。要求が行われると、ASP.NET は、要求ヘッダーによって要求の送信元ブラウザを識別し、その送信元ブラウザのタイプに応じた HttpBrowserCapabilities オブジェクトをコンパイルします。
メモ : |
---|
Web.config ファイル内で <browserCaps> 要素を使用してブラウザを定義する方法は、.NET Framework Version 2.0 では使用されませんが、サポートは継続しています。この要素内のデータは、ブラウザ定義ファイルの情報とマージされます。 |
一方、アプリケーション レベルのブラウザ定義ファイルは、アプリケーションの起動時に自動的に解析され、要求に応じてコンパイルされます。アプリケーションの Browsers ディレクトリに変更が加えられると、アプリケーションは自動的に再コンパイルされます。ASP.NET ブラウザ登録ツールは、アプリケーション レベルのブラウザ情報ファイルを変更しません。
例
システム全体に有効なすべてのブラウザ定義を解析し、アセンブリにコンパイルしてそれをグローバル アセンブリ キャッシュにインストールするには、Aspnet_regbrowsers.exe を実行します。次のコマンドでは、アセンブリを作成し、インストールします。
C:\WINDOWS\Microsoft.NET\Framework\<versionNumber>\aspnet_regsql.exe -i
また、このツールを使って、ブラウザ定義アセンブリをグローバル アセンブリ キャッシュから削除することもできます。次のコマンドは、ブラウザ定義アセンブリをグローバル アセンブリ キャッシュから削除します。
aspnet_regsql.exe -u
ASP.NET ブラウザ登録ツールの使用方法に関するヘルプを表示するには、次のコマンドを使用します。
aspnet_regsql.exe -?
参照
処理手順
方法 : ASP.NET Web ページでブラウザの種類を検出する
関連項目
ブラウザ定義ファイルのスキーマ (browsers 要素)
BrowserCapabilitiesFactory
Browser
HttpCapabilitiesBase