ASP.NET 瀏覽器註冊工具 (Aspnet_regbrowsers.exe)
更新:2007 年 11 月
ASP.NET 瀏覽器註冊工具會剖析所有系統範圍的瀏覽器定義並將其編譯成組件,然後將該組件安裝至全域組件快取中。這個工具會使用 .NET Framework Browsers 子目錄中的瀏覽器定義檔 (.BROWSER 檔)。您可以在 %SystemRoot%\Microsoft.NET\Framework\version\ 目錄中找到這個工具。
在 ASP.NET 1.1 版中,Machine.config 檔包含了一個名為 <browserCaps> 的區段。這個區段包含了一系列的 XML 項目,可根據規則運算式 (Regular Expression) 定義各種瀏覽器的組態。在 ASP.NET 2.0 版中,新的 .BROWSER 檔會利用 XML 項目定義特定瀏覽器的參數。如果要加入新瀏覽器的相關資訊,可以在系統中位於 %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers 的資料夾中加入新的 .BROWSER 檔。
由於應用程式並不是每次需要瀏覽器資訊時都會讀取 .config 檔,因此您可以建立新的 .BROWSER 檔並執行 Aspnet_regbrowsers.exe,將必要的變更加入至組件中。這麼做可以讓伺服器立即存取新的瀏覽器資訊,如此一來,您不必關閉任何應用程式就可以取得資訊。應用程式可以透過目前 HttpRequest 的 Browser 屬性存取瀏覽器功能。
語法
aspnet_regbrowsers.exe <options>
選項
選項 |
說明 |
---|---|
-? |
在命令視窗中顯示 Aspnet_regbrowsers.exe 說明文字。 |
-i |
建立執行階段瀏覽器能力組件,並將其安裝至全域組件快取中。 |
-u |
從全域組件快取中解除安裝執行階段瀏覽器能力組件。 |
備註
瀏覽器定義檔可以作用於整個系統或特定應用程式,每種類型分別儲存在不同的位置。系統範圍的瀏覽器定義檔儲存在 %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 瀏覽器註冊工具時,會建立新的組件,而它對於所有 Web 應用程式的影響就像是變更 Machine.config 檔一樣:回收所有執行中的 Web 應用程式並重新啟動 Microsoft Internet Information Services (IIS)。這個工具也會產生隨機的私用語彙基元 (Token) 檔,並且建立用來簽署組件的金鑰檔,以便能將組件安裝至全域組件快取中。當工具執行完後,便會移除金鑰檔,只留下公開金鑰 (Public Key)。
在執行階段,瀏覽器定義檔資訊已合併至 BrowserCapabilitiesFactory 物件中的已知瀏覽器集合。當發出要求時,ASP.NET 會根據要求標頭來識別要求的瀏覽器,並會編譯對應至所要求之瀏覽器類型的 HttpBrowserCapabilities 物件。
注意事項: |
---|
使用 Web.config 檔中的 <browserCaps> 項目來定義瀏覽器的方式在 .NET Framework 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 -?
請參閱
工作
HOW TO:在 ASP.NET Web 網頁中偵測瀏覽器類型