browserCaps 篩選條件的 case 項目 (ASP.NET 設定結構描述)
允許在處理第一個成功比對的項目之後停止進行模式比對。
注意
在 .NET Framework 2.0 版中,使用 Web.config 檔中的 browserCaps 項目來定義瀏覽器是已被取代的功能;不過還是會支援該功能。這個項目中的資料會與來自瀏覽器定義檔 (.browser) 的資訊進行合併,而這些定義檔則是位於電腦層級的 %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers 資料夾,以及任何現有之應用程式層級的 App_Browsers 資料夾中。如需詳細資訊,請參閱瀏覽器定義檔結構描述 (browsers 項目)。
<case
match="regex expression"
with="regex expression"
>
[browser capability assignments, filter elements, case elements]
</case>
屬性和項目
下列章節會說明屬性、子項目和父項目。
屬性
屬性 |
描述 |
---|---|
match |
必要的 String 屬性。 指定 .NET Framework 規則運算式,此規則運算式是針對 with 屬性進行測試。 如果予以省略,則假設該比對已經成功。 |
with |
必要的 String 屬性。 指定要搜尋的 .NET Framework 規則運算式或字串。 如果省略,則會使用 use 項目所指定的字串。 |
子項目
無。
父項目
項目 |
描述 |
---|---|
configuration |
指定 Common Language Runtime 和 .NET Framework 應用程式所使用之每個組態檔中需要的根項目 (Root Element)。 |
system.web |
指定組態檔中 ASP.NET 組態設定的根項目 (Root Element),並包含會設定 ASP.NET Web 應用程式以及控制這些應用程式之行為的組態項目。 |
browserCaps |
指定所支援瀏覽器的設定以及這些瀏覽器的功能。 可以按需要更新 browserCaps 項目,指定新的瀏覽器及功能。 如需有效瀏覽器屬性的清單,請參閱 HttpBrowserCapabilities。 |
filter |
指定搜尋字串清單,其可讓您將個人設定套用至特定瀏覽器定義。 |
備註
case 項目允許在處理第一個成功比對的項目之後停止進行模式比對。
所有 filter 和 case 項目都可以包含指派和其他 filter 與 case 項目。 case 和 filter 群組之間的差異在於:在評估 filter 群組之後,會繼續執行群組之後的陳述式,但在 case 群組成功比對和評估之後,執行會跳至封入群組的結尾。
預設組態
在 .NET Framework 2.0 版中,不會設定 case 項目,因為使用瀏覽器定義檔取代了 browserCaps 項目,以指定支援的瀏覽器及其功能。 如需詳細資訊,請參閱瀏覽器定義檔結構描述 (browsers 項目)。
在 .NET Framework 1.0 版和 1.1 版中,Machine.config 檔案中設定的預設 case 項目數量繁多,無法在此一一列出。 如需瀏覽器資料的更新,請移至 http://www.cyscape.com/browsercaps。 定期的裝置更新會取代此瀏覽器功能區段。
範例
下列程式碼範例中,會示範如何剖析任一版本 Microsoft Internet Explorer 的 User-Agent HTTP 標頭,只要 User-Agent 字串的格式大約維持不變。
該範例使用 .NET Framework 規則運算式和規則運算式的功能擷取子運算式,將版本號碼直接從 User-Agent 字串移至 browserCaps 項目。
這個檔案以指派陳述式的形式來指定名稱/值組,這類似於 Microsoft Internet Information Services (IIS) browscap.ini 檔案。 例如,"browser=IE" 這一行會將瀏覽器欄位的值設定為字串 "IE"。
<configuration>
<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>
</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
參考
browserCaps 的 filter 項目 (ASP.NET 設定結構描述)
browserCaps 項目 (ASP.NET 設定結構描述)
system.web 項目 (ASP.NET 設定結構描述)
browserCaps 的 result 項目 (ASP.NET 設定結構描述)
browserCaps 的 use 項目 (ASP.NET 設定結構描述)
HttpCapabilitiesSectionHandler
概念
ASP.NET Server Controls and Browser Capabilities
ASP.NET Configuration File Hierarchy