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>

項目資訊

組態區段處理常式

HttpCapabilitiesSectionHandler

組態成員

Browsers

可設定的位置

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 設定結構描述)

configuration 項目 (一般設定結構描述)

browserCaps 的 filter 項目 (ASP.NET 設定結構描述)

browserCaps 的 result 項目 (ASP.NET 設定結構描述)

browserCaps 的 use 項目 (ASP.NET 設定結構描述)

瀏覽器定義檔結構描述 (browsers 項目)

System.Configuration

System.Web.Configuration

HttpCapabilitiesSectionHandler

Browsers

概念

ASP.NET Server Controls and Browser Capabilities

ASP.NET Configuration File Hierarchy

Securing Configuration

Configuration Inheritance

其他資源

一般組態設定 (ASP.NET)

ASP.NET 組態設定

Configuring ASP.NET Applications

ASP.NET Configuration API