browserCaps 項目 (ASP.NET 設定結構描述)
指定支援之瀏覽器的設定,以及支援之瀏覽器的功能。 可以按需要更新 browserCaps 項目,指定新的瀏覽器及功能。
注意
使用 Web.config 檔中的 browserCaps 項目來定義瀏覽器,在 .NET Framework 2.0 版中是已被取代的功能,不過還是會支援。這個項目中的資料會與來自瀏覽器定義檔 (.browser) 的資訊進行合併,而這些定義檔則是位於電腦層級的 %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers 資料夾,以及任何現有之應用程式層級的 App_Browsers 資料夾中。如需詳細資訊,請參閱瀏覽器定義檔結構描述 (browsers 項目)。
<browserCaps>
<result />
<use />
[browser capability property assignments]
<filter>...</filter>
</browserCaps>
屬性和項目
下列章節會說明屬性、子項目和父項目。
屬性
屬性 |
描述 |
---|---|
userAgentCacheKeyLength |
選擇性 String 屬性。 指定瀏覽器識別字串的長度,此字串會做為在內部快取中快取瀏覽器功能物件的索引鍵。 如需瀏覽器功能物件的詳細資訊,請參閱瀏覽器定義檔結構描述 (browsers 項目)。 這個屬性是 .NET Framework 2.0 版中新增的屬性。 預設值為 "64"。 |
子項目
項目 |
描述 |
---|---|
filter |
選擇性項目。 指定搜尋字串清單,其可讓您將個人設定套用至特定瀏覽器定義。 |
result |
指定 HttpCapabilitiesBase 衍生的類別,用於保留剖析 browserCaps 區段的結果。 功能會儲存為每個瀏覽器的索引鍵/值字串配對。 這個項目在 .NET Framework 2.0 版中仍然適用。 |
use |
指定用於剖析瀏覽器功能資訊的 HTTP 要求字串,該資訊儲存在 filter 和 case 項目中。 |
父項目
項目 |
描述 |
---|---|
configuration |
指定 Common Language Runtime 和 .NET Framework 應用程式所使用之每個組態檔中需要的根項目 (Root Element)。 |
system.web |
指定組態檔中 ASP.NET 組態設定的根項目 (Root Element),並包含會設定 ASP.NET Web 應用程式以及控制這些應用程式之行為的組態項目。 |
備註
browserCaps 項目會指定支援之瀏覽器的設定以及支援之瀏覽器的功能。 可以按需要更新 browserCaps 項目,指定新的瀏覽器及功能。
如需有效瀏覽器屬性的清單,請參閱 HttpBrowserCapabilities。
capsVariableName=regular expression 形式的程式碼行都是指派。 在 match 屬性和設定右側使用 %{capsVariableName} 或 ${captureGroupName} 語法。
如需如何使用規則運算式的詳細資訊,請參閱 .NET Framework 規則運算式。 如需完整的 browserCaps 區段,以及這個語法的完整範例,請參閱使用 .NET Framework 安裝的 Machine.config 檔。
用 capsVariableName 所捕捉的名稱/值組,可透過繼承自 HttpCapabilitiesBase 類別之 HttpBrowserCapabilities 物件的 Item 屬性進行存取。 Item 屬性是 C# 中預設的索引子屬性。
預設組態
在 .NET Framework 2.0 版中,會在根 Web.config 檔中設定下列有限預設 browserCaps 項目,因為使用瀏覽器定義檔取代了該項目,以指定支援的瀏覽器及其功能。 如需詳細資訊,請參閱瀏覽器定義檔結構描述 (browsers 項目)。
<browserCaps userAgentCacheKeyLength="64">
<result
type="System.Web.Mobile.MobileCapabilities, System.Web.Mobile, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
/>
</browserCaps>
在 .NET Framework 1.0 版和 1.1 版中,machine.config 檔中設定的預設 browserCaps 項目過大,無法在此列出。 如需瀏覽器資料的更新,請移至 http://www.cyscape.com/browsercaps。 定期的裝置更新會取代此瀏覽器功能區段。
範例
下列程式碼範例中,會示範如何剖析任一版本 Microsoft Internet Explorer 的 User-Agent HTTP 標頭,只要 User-Agent 字串的格式大約維持不變。
該範例使用 .NET Framework 規則運算式和規則運算式的功能擷取子運算式,將版本號碼直接從 User-Agent 字串移至 HttpBrowserCapabilities 物件。
這個檔案以指派陳述式的形式來指定名稱/值組,這類似於 Microsoft Internet Information Services (IIS) browscap.ini 檔案。 例如,"browser=IE" 這一行會將瀏覽器欄位的值設定為字串 "IE"。
<configuration>
<system.web>
<browserCaps>
<result type="System.Web.HttpBrowserCapabilities, System.Web"/>
<use var="HTTP_USER_AGENT"/>
browser=Unknown
version=0.0
majorversion=0
minorversion=0
frames=false
tables=false
cookies=false
backgroundsounds=false
<filter>
<case match="^Mozilla[^(]*\(compatible; MSIE
(?'ver'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))
(?'extra'.*)">
browser=IE
version=${ver}
majorver=${major}
minorver=${minor}
<case match="^2\." with="%{version}">
tables=true
cookies=true
backgroundsounds=true
<case match="2\.5b" with="%{version}">
beta=true
</case>
</case>
</case>
</filter>
</browsercaps>
</system.web>
</configuration>
項目資訊
組態區段處理常式 |
|
組態成員 |
|
可設定的位置 |
Machine.config 根層次的 Web.config 應用程式層級的 Web.config 虛擬或實體目錄層級的 Web.config |
需求 |
Microsoft Internet Information Services (IIS) 5.0、5.1 或 6.0 版 .NET Framework 2.0 (已取代)、1.1 或 1.0 版 Microsoft Visual Studio 2003 或 Visual Studio 2005 |
請參閱
工作
How to: Detect Browser Types in ASP.NET Web Pages
How to: Configure Specific Folders Using Location Settings
How to: Lock ASP.NET Configuration Settings
參考
system.web 項目 (ASP.NET 設定結構描述)
browserCaps 的 filter 項目 (ASP.NET 設定結構描述)
browserCaps 的 result 項目 (ASP.NET 設定結構描述)
browserCaps 的 use 項目 (ASP.NET 設定結構描述)
HttpCapabilitiesSectionHandler
概念
ASP.NET Server Controls and Browser Capabilities
ASP.NET Configuration File Hierarchy