Browser Definition File Schema (browsers Element)

[Esta documentação destina-se apenas à visualização e está sujeita a alterações em versões posteriores. Os tópicos em branco estão incluídos como espaços reservados.]

Arquivos de definição de navegador contêm definições de navegadores individuais. Em tempo de execução, ASP.NET usa as informações no cabeçalho de requisição para determinar o tipo de navegador tem fez a solicitação. Em seguida, o ASP.NET usa arquivos. browser para determinar os recursos do navegador. ASP.Adaptadores de controle de rede podem usar essas informações para adaptar o comportamento de uma página ASP.NET o controle de servidor da Web dependendo do tipo de dispositivo. Por exemplo, um controle de servidor pode gerar HTML diferente para um navegador gráfico, como o Internet Explorer que seria necessário para um dispositivo móvel.

Observação

Arquivos de definição do navegador foram introduzidos no.NET Framework versão 2.0.Em versões anteriores do.NET Framework, o browserCaps elemento foi usado para definir definições de navegador em arquivos de configuração.

<browsers>
    <browser id="browser name"
             parentID="parent browser name"
             refID="reference ID">
        <identification>
            <userAgent match="regular expression"
                       nonMatch="regular expression" />
            <header match="regular expression"
                    name="header name"
                    nonMatch="regular expression" />
            <capability match="regular expression"
                        name="capability name"
                        nonMatch="regular expression" />
        </identification>
        <capture>
            <userAgent match="regular expression" />
            <header match="regular expression"
                    name="header name" />
            <capability match="regular expression"
                        name="capability name" />
        </capture>
        <capabilities>
            <capability name="capability name"
                        value="capability value" />
        </capabilities>
        <controlAdapters markupTextWriterType="type name">
            <adapter adapterType="name of adapter class"
                     controlType="name of control class" />
        </controlAdapters>
        <sampleHeaders>
            <header name="header name"
                    value="header value" />
        </sampleHeaders>
    </browser>
    <gateway id="gateway ID"
             parentID="parent browser ID">
        <!-- Same child elements as for <browser>.
        <identification></identification>
        <capture></capture>
        <capabilities></capabilities>
        <controlAdapters></controlAdapters>
        <sampleHeaders></sampleHeaders>
         -->
    </gateway>
    <defaultBrowser id="Default" 
                    parentID="parent browser ID"
                    refID="reference ID" >
        <!-- Same child elements as for <browser>.
        <identification></identification>
        <capture></capture>
        <capabilities></capabilities>
        <controlAdapters></controlAdapters>
        <sampleHeaders></sampleHeaders>
         -->
    </defaultBrowser>
</browsers>

Atributos e elementos

Elemento

Descrição

adapter

Especifica um mapeamento entre um aplicativo ASP.NET Web server control e o adaptador usado para processá-lo no navegador atual. Por exemplo, a seguinte definição para o NokiaMobileBrowserRainbow navegador contida no arquivo Nokia.browser Especifica que Menu controles de servidor pode ser adaptada para o navegador usando o MenuAdapter classe do adaptador de controle:

    <controlAdapters markupTextWriterType="System.Web.UI.XhtmlTextWriter" >
        <adapter
          controlType="System.Web.UI.WebControls.Menu"
          adapterType="System.Web.UI.WebControls.Adapters.MenuAdapter">
        </adapter>
    </controlAdapters>

A tabela a seguir descreve os atributos necessários que estão contidos no adapter elemento.

AtributoDescrição
adapterType Obrigatório String atributo.Especifica o nome da classe que é usado para alterar a maneira como o controle é adaptado para o navegador.
controlType Obrigatório String atributo.Especifica o nome do controle para mapear para o adaptador.

O adapter elemento contém nenhum elemento filho.

browser

Define uma definição de navegador único.

A tabela a seguir descreve os atributos que o browser elemento pode conter.

NoteNote
Não altere os arquivos de definição de navegador que vêm com o ASP.NET porque os Service Packs podem atualizar esses arquivos, substituindo as suas alterações.Em vez disso, criar novos arquivos. browser e usar o parentID atributo em uma nova definição de navegador para herdar as configurações ou use o refID atributo a adicionar recursos a uma definição existente do navegador.

Uma definição de navegador deve definir tanto a refID atributo ou ambos a id e parentID atributos.

AtributoDescrição
id String atributo, necessário se o parentID atributo é usado.Especifica o nome exclusivo para o navegador que está sendo definido.
parentID String atributo, necessário se o id atributo é usado.Especifica o nome exclusivo da definição de navegador pai da qual herdam as configurações.Essas configurações podem ser substituídas na definição do navegador atual.A definição de navegador pai não precisa estar no mesmo arquivo de definição de navegador, mas deve ser definida no mesmo aplicativo ou o %SystemRoot%\Microsoft.NET\Framework\versão\CONFIG\Browsers directory.Por exemplo, a seguinte definição para o WebTV navegador é definido no arquivo WebTV.browser.A definição para o IE2 navegador pai é definido no arquivo IE.browser no mesmo diretório. <browser id=" WebTV " parentID=" IE2 ">
refID
String o atributo, não pode ser usado se o id e parentID atributos são usados.Especifica um identificador de definição de navegador existente.Use o refID atributo para associar os novos recursos uma definição existente do navegador.Você pode configurar vários nós de navegador para se referir ao mesmo refID.Se a refID atributo for especificado, o browser elemento não pode conter um identification elemento filho.O refID atributo não substitui o elemento de destino. em vez disso, suas configurações são aplicadas após a aplicação de todas as outras configurações de atributo.A ordem em que as configurações são aplicadas é:
  • todos os < gateway parentID > nós

  • todos os < gateway refID > nós

  • todos os < navegador parentID > nós

  • todos os < navegador refID > nós

A definição de exemplo a seguir adiciona novos recursos para os existentes IE definição de navegador contida no arquivo IE.browser.
<browser refID="IE">
    <capabilities>
        <capability name="UseRichTextBox" value="true" />
    </capabilities>
    <controlAdapters>
        <adapter controlType="System.Web.UI.Calendar"
adapterType="ExampleAdapters.ExampleIECalendarAdapter"
        />
    </controlAdapters>
</browser>

O browser elemento pode conter zero ou mais dos seguintes elementos filho:

  • capabilities

  • capture

  • controlAdapters

  • identification

  • sampleHeaders

browsers

Representa o elemento raiz necessários de um arquivo. browser.

capabilities

Define os valores de recurso para definir para a definição atual do navegador. Para obter uma lista dos recursos do navegador com rigidez de tipos, consulte as propriedades da HttpCapabilitiesBase classe. A maioria dessas propriedades usa camel casing nos arquivos de definição de navegador. Você também pode adicionar seus próprios valores de recurso.

O capabilities elemento contém sem atributos.

O capabilities elemento pode conter zero ou mais o seguinte elemento filho:

  • capability

capability(elemento filho do capabilities)

Define um valor único recurso para definir para a definição atual do navegador. Por exemplo, os seguintes recursos são definidos para o IE definição de navegador no arquivo IE.browser. Essa definição de exemplo herda a outros recursos a partir do Mozilla definição de navegador no arquivo Mozilla.browser. Os valores que contêm texto dentro de um sinal de cifrão seguido por chaves ($ {}) são substituídos pelos valores capturados da expressão de correspondência na userAgent elemento filho da identification elemento "^Mozilla[^(]*\([C|c]ompatible;\s*MSIE (?'version'(?'major'\d+)(?'minor'\.\d+)(?'letters'\w*))(?'extra'[^)]*)".

    <capabilities>
        <capability name="browser"          value="IE" />
        <capability name="extra"            value="${extra}" />
        <capability name="isColor"          value="true" />
        <capability name="letters"          value="${letters}" />
        <capability name="majorversion"     value="${major}" />
        <capability name="minorversion"     value="${minor}" />
        <capability name="screenBitDepth"   value="8" />
        <capability name="type"             value="IE${major}" />
        <capability name="version"          value="${version}" />
    </capabilities>

O capability elemento contém os seguintes atributos necessários.

AtributoDescrição
name Obrigatório String atributo.Especifica o nome do recurso.Para obter uma lista dos recursos do navegador com rigidez de tipos, consulte as propriedades da HttpCapabilitiesBase classe.A maioria dessas propriedades usa camel casing nos arquivos de definição de navegador, por exemplo, canSendMail em vez de CanSendMail.Você também pode adicionar seus próprios valores de recurso.
value Obrigatório String atributo.Especifica o valor do recurso.Os valores possíveis para cada um dos recursos com rigidez de tipos de navegador são listados nas propriedades da HttpCapabilitiesBase classe.O atributo value pode conter variáveis capturadas dentro de "$ {}"

O capability elemento contém nenhum elemento filho.

capability(elemento filho do identification ou capture)

Especifica que o valor de um recurso da classe pai navegador ser correspondida por uma expressão regular. Por exemplo, a seguinte definição para o IE5to9 navegador contida o IE.browser usa o arquivo de um capability elemento para especificar que o majorversion configuração de recursos da IE definição pai deve corresponder a expressão regular incluída para que essa definição de navegador a ser correspondido ao navegador do cliente. Esta definição de navegador de exemplo inclui capability elementos que adicionar ou substituir os elementos na definição do pai.

    <browser id="IE5to9" parentID="IE">
        <identification>
            <capability name="majorversion" match="^[5-9]" />
        </identification>
        <!-- Capability elements. -->
    </browser>

A tabela a seguir descreve os atributos que o capability elemento contém. Tanto o match ou nonMatch atributo deve ser definido, mas não ambos.

AtributoDescrição
match String o atributo, não pode ser usado no mesmo elemento como o nonMatch atributo.Especifica a expressão regular que a configuração do recurso pai deve corresponder para atender essa identificação.Para obter informações sobre a formatação de expressões regulares, consulte .Expressões regulares.
name Obrigatório String atributo.Especifica o nome do recurso pai.
nonMatch String o atributo, não pode ser usado no mesmo elemento como o match atributo.Esse atributo não é usado no capability elemento filho da capture elemento.Especifica a expressão regular que a configuração do recurso pai não deve corresponder para atender essa identificação.

O capability elemento contém nenhum elemento filho.

capture

Define informações sobre o que mais header, userAgent ou capability elementos para usar para capturar informações sobre o navegador. Isso é útil ao tentar detectar novos navegadores que não estavam disponíveis quando o.NET Framework 2.0 foi lançado. Para capturar os valores, uma definição de navegador pode incluir capturas de expressão regular a match o atributo de qualquer elemento de identificação. Por exemplo, o seguinte userAgent definido no arquivo de IE.browser de elemento captura a altura da tela em pixels a partir do cabeçalho de solicitação do agente de usuário.

    <capture>
        <userAgent match="PalmSource; Blazer 3\.0\)\s\d+;(?'screenPixelsHeight'\d+)x(?'screenPixelsWidth'\d+)$" />
    </capture>

Uma definição de navegador talvez também precise capturar informações adicionais, examinando os cabeçalhos de solicitação que não são usados para distinguir a classe do navegador. Por exemplo, o seguinte capture elemento captura o número de chaves suaves para um telefone celular de OpenWave. Na tela exibe menus e comandos quando você pressiona os botões de hardware correspondente em SmartPhones baseados no Windows Mobile:

    <capture>
        <header name="HTTP_X_UP_DEVCAP_NUMSOFTKEYS" 
                match="(?'softkeys'\d+)" />
    </capture>

O capture elemento contém sem atributos.

O capture elemento pode conter zero ou mais dos seguintes elementos filho:

  • header

  • userAgent

  • capability

controlAdapters

Define um adaptador de controle para usar para adaptar o controle de servidor no navegador.

A tabela a seguir descreve o atributo que o controlAdapters elemento contém.

AtributoDescrição
markupTextWriterType Opcional String atributo.Especifica o.NET Framework equivalente do gravador de texto de marcação para usar.O tipo padrão é System.Web.UI.XhtmlTextWriter, mas outros valores de possibilidades para este atributo são System.Web.UI.Html32TextWriter, System.Web.UI.HtmlTextWriter, System.Web.UI.ChtmlTextWriter, ou qualquer classe personalizada derivada de uma dessas classes.

O controlAdapters elemento pode conter zero ou mais o seguinte elemento filho:

  • adapter

defaultBrowser

Define os recursos de navegador padrão no arquivo Default.browser. Definições de navegador padrão coincide com qualquer navegador físico específico, mas são usadas por outras definições para herdar as configurações. Por exemplo, o seguinte Default definição do navegador está contida no arquivo Default.browser:

    <defaultBrowser id="Default">
        <capabilities>
            <capability name="ecmascriptversion"   value="0.0" />
            <capability name="javascript"          value="false" />
            <capability name="jscriptversion"      value="0.0" />
        </capabilities>
    </defaultBrowser>

A definição de navegador padrão é herdada por outras definições de navegador. Por exemplo, a seguinte definição para o Panasonic navegador está contida no arquivo Panasonic.browser.

<browser id="Panasonic" parentID="Default">

A tabela a seguir descreve o atributo que o defaultBrowser elemento contém.

AtributoDescrição
id Obrigatório String atributo.Especifica o nome exclusivo para o navegador.

O defaultBrowser elemento pode conter os mesmos elementos filho do browser elemento.

gateway

Especifica a definição de uma único gateway. Alguns navegadores móveis são conectados ao servidor Web através de um gateway, o que pode adicionar seus próprios recursos. É possível que vários elementos de gateway referir-se a mesma refID atributo.

O gateway elemento pode conter os mesmos atributos e elementos filho como o browser elemento. Por exemplo, a seguinte definição para o IE3AK gateway está no arquivo IE.browser.

    <gateway id="IE3AK" parentID="IE3">
        <identification>
            <capability name="extra" match="; AK;" />
        </identification>
        <capture>
        </capture>
        <capabilities>
            <capability name="ak"  value="true" />
        </capabilities>
    </gateway>
NoteNote
Você não pode ter um arquivo de definição de navegador em seu aplicativo que contém um browser elemento cuja parentID atributo refere-se a uma gateway elemento nos arquivos de definição padrão localizados no diretório %SystemRoot\Microsoft.NET\Framework\versionNumber\CONFIG\Browsers.Entretanto, você pode definir a parentID atributo para se referir a um arquivo de definição de navegador diferente na mesma pasta App_Browsers.

header(elemento filho do identification ou capture)

Especifica uma expressão em relação à qual corresponde ou capturar um cabeçalho HTTP específico na solicitação. Por exemplo, a seguinte definição para o Wml navegador contida no arquivo Default.browser identifica um navegador correspondente, comparando o Accept cabeçalho para duas expressões regulares.

<identification>
    <header name="Accept" 
            match="text/vnd\.wap\.wml|text/hdml" />
    <header name="Accept" 
            nonMatch="application/xhtml\+xml; profile|application/vnd\.wap\.xhtml\+xml" />
</identification>

A tabela a seguir descreve os atributos que o header elemento contém. Tanto o match ou nonMatch atributo deve estar presente, mas não ambos.

AtributoDescrição
match String o atributo, não pode ser usado no mesmo elemento como o nonMatch atributo.Especifica a expressão regular que o valor do cabeçalho de solicitação deve corresponder para atender essa identificação.Para obter informações sobre a formatação de expressões regulares, consulte .Expressões regulares.
name Obrigatório String atributo.Especifica o nome do cabeçalho.
nonMatch String o atributo, não pode ser usado no mesmo elemento como o match atributo.Esse atributo não é usado no capability elemento filho da capture elemento.Especifica a expressão regular que não deve coincidir com o valor do cabeçalho de solicitação para satisfazer essa identificação.

O header elemento contém nenhum elemento filho.

header(elemento filho do sampleHeaders)

Especifica um único exemplo de cabeçalho para este navegador. Este elemento é opcional e para fins informativos apenas. Uma ferramenta de depuração ou o simulator pode usar este conjunto de cabeçalhos para emular o navegador para uma solicitação.

A tabela a seguir descreve os atributos que o header elemento contém.

AtributoDescrição
name Opcional String atributo.Especifica o nome do cabeçalho.
value Opcional String atributo.Especifica o valor do cabeçalho.

O header elemento contém nenhum elemento filho.

identification

Define informações sobre como identificar este navegador da solicitação de entrada.

O identification elemento contém sem atributos.

O identification elemento pode conter um ou mais dos seguintes elementos filho:

  • header

  • userAgent

  • capability

sampleHeaders

Especifica um conjunto de cabeçalhos de exemplo para este navegador. Este elemento é opcional e para fins informativos apenas. Uma ferramenta de depuração ou o simulator pode usar este conjunto de cabeçalhos para emular o navegador para uma solicitação.

O sampleHeaders elemento contém sem atributos.

O sampleHeaders elemento pode conter zero ou mais o seguinte elemento filho:

  • header

userAgent

Especifica uma expressão que devem ser atendidos o cabeçalho agente do usuário de uma solicitação. Por exemplo, a seguinte definição para o IE4 contido no IE.browser usa o arquivo do navegador a "MSIE 4" seqüência de caracteres para identificar o navegador pelo cabeçalho agente do usuário que envia com a solicitação.

        <identification>
            <userAgent match="MSIE 4" />
        </identification>

A tabela a seguir descreve os atributos que o userAgent elemento contém. Tanto o match ou nonMatch atributo deve estar presente, mas não ambos.

AtributoDescrição
match String o atributo, não pode ser usado no mesmo elemento como o nonMatch atributo.Especifica a expressão regular que o agente de usuário deve coincidir para satisfazer essa identificação.Para obter informações sobre a formatação de expressões regulares, consulte .Expressões regulares.
nonMatch String o atributo, não pode ser usado no mesmo elemento como o match atributo.Especifica a expressão regular que não deve corresponder ao agente do usuário para atender a essa identificação.Esse atributo não é usado no capability elemento filho da capture elemento.

O userAgent elemento contém nenhum elemento filho.

Remarks

Se você achar que nenhum dos arquivos de definição de navegador existente atende a seus critérios, você pode criar novos arquivos de definição de navegador usando o código de exemplo seção abaixo.

Security noteSecurity Note

Não baixe ou instale arquivos de definição de navegador de terceiros a não ser que você confie na origem deles.Examine um novo arquivo de definição de navegador para ver se quaisquer espaços para nomes desconhecidos são referenciados.Para obter mais informações, consulte Securing Browser Definition Files.

Arquivos de definição de navegador predefinidos são armazenados na %SystemRoot%\Microsoft.NET\Framework\versão\CONFIG\Browsers directory. Arquivos de definição de navegador de nível de aplicativo podem ser colocados no diretório de App_Browsers do aplicativo. Em ambos locais, arquivos de definição de navegador devem possuir a extensão de arquivo .browser. Não altere os arquivos de definição de navegador que vêm com o ASP.NET porque os Service Packs podem atualizar esses arquivos, substituindo as suas alterações. Em vez disso, criar novos arquivos. browser e usar o parentID atributo em uma nova browser definição herdam as configurações ou usar o refID atributo a adicionar recursos a uma definição existente do navegador.

Em tempo de execução, informações do arquivo de definição de navegador são mescladas em uma coleção de navegadores conhecidos em um BrowserCapabilitiesFactory objeto. Quando uma solicitação é feita, ASP.NET identifica o navegador solicitante, o cabeçalho de solicitação e compila uma HttpBrowserCapabilities objeto que corresponde ao tipo do navegador solicitado. Isso é feito iniciando com um dicionário vazio, e aplicando as seguintes etapas recursiva em árvore de definição de navegador:

  1. Inicia na definição de navegador padrão, que sempre é considerada uma correspondência bem-sucedida.

  2. Mescla valores de capacidade especificados nessa definição de browser com o dicionário de capacidades para este navegador. Valores especificados em uma definição de navegador sobrescrevem valores definidos em um nível superior.

  3. Avalia cada definição do nível inferior para determinar uma correspondência. Para cada filho correspondente, inicie na etapa 1 novamente. Definições de navegador são avaliadas depois definições de gateway. Se o agente do usuário coincidir com a definição de navegador mais de um ou mais de um gateway, uma exceção é lançada em tempo de execução.

O HttpBrowserCapabilities objeto é armazenado em cache e pode ser usado novamente para uma solicitação diferente do mesmo tipo do navegador.

Um aplicativo da Web pode acessar a instância atual da HttpBrowserCapabilities de objeto usando o HttpRequest.Browser propriedade. Este objeto é somente leitura e contém propriedades para cada recurso. Como alternativa, um desenvolvedor da Web pode construir uma classe personalizada que herda a partir de HttpBrowserCapabilities de classe e armazenar uma instância na HttpRequest.Browser propriedade.

As alterações nos arquivos. browser, localizados na pasta App_Browsers invalidar o cache e a próxima solicitação causará recompilar o aplicativo. No entanto, se forem feitas alterações em arquivos. browser na %SystemRoot%\Microsoft.NET\Framework\versão\CONFIG\Browsers directory, você deve manualmente recompilar o aplicativo usando o %SystemRoot%\Microsoft.NET\Framework\versão\aspnet_regbrowsers.exe ferramenta, ou você deve programaticamente recompilá-lo usando o BrowserCapabilitiesCodeGenerator classe.

Observação

Usando o browserCaps elemento no arquivo Web. config para definir navegadores é substituído na.NET Framework 2.0, mas ainda com suporte.Os dados nesse elemento são mesclados com as informações de arquivos de definição de navegador.

Quando um navegador faz uma solicitação para seu aplicativo, os recursos do navegador são armazenados na Browser propriedade. A identidade do navegador é armazenada na UserAgent propriedade. ASP.NET Web server controls consultam a lista de recursos para tomar decisões sobre como adaptar o comportamento dos controles apropriadamente para diferentes navegadores.

Recursos

Para obter uma lista dos recursos do navegador com rigidez de tipos, consulte as propriedades da HttpCapabilitiesBase classe. Essas propriedades utilizam camel casing nos arquivos de definição de navegador. Por exemplo, se você desejar especificar o BackgroundSounds o recurso no seu arquivo de definição de navegador, digitá-la como backgroundSounds.

Você também pode definir seus próprios recursos.

Um aplicativo da Web pode recuperar valores de capacidade do HttpBrowserCapabilities de objeto em uma destas duas maneiras:

  • Acessando o dicionário de recursos. Você pode usar esse método para recursos personalizados.

    Por exemplo, para obter o valor do recurso ECMAScript (JavaScript) para o navegador do cliente atual, você pode usar o código a seguir:

    String cap_javascript = Request.Browser["javascript"];
    
  • Chamando uma propriedade com rigidez de tipos que encapsula um recurso.

    Por exemplo, para obter o valor do recurso para o navegador do cliente atual ECMAScript, você pode usar o código a seguir:

    String cap_javascript = Request.JavaScript;
    

Configuração padrão

A.NET Framework vem com arquivos de definição de navegador predefinido na %SystemRoot%\Microsoft.NET\Framework\versão\CONFIG\Browsers directory. Você pode criar o nível do aplicativo navegador arquivos de definição no diretório App_Browsers do aplicativo. Para obter informações sobre pastas especiais ASP.NET diretórios, consulte ASP.NET Web Site Layout.

O exemplo de código a seguir é o arquivo Generic.browser a %SystemRoot%\Microsoft.NET\Framework\versão\CONFIG\Browsers directory.

Observação

Não altere os arquivos de definição de navegador existentes no %SystemRoot%\Microsoft.NET\Framework\versão\CONFIG\Browsers directory.Eles são mantidos pelo.NET Framework.

<browsers>
    <browser id="GenericDownlevel" parentID="Default">
        <identification>
            <userAgent match="^Generic Downlevel$" />
        </identification>
        <capture>
        </capture>
        <capabilities>
            <capability name="cookies"
                        value="false" />
            <capability name="ecmascriptversion" 
                        value="1.0" />
            <capability name="tables"
                        value="true" />
            <capability name="type"
                       value="Downlevel" />
        </capabilities>
        <controlAdapters>
        <adapter controlType="System.Web.UI.WebControls.Menu"
                     adapterType="System.Web.UI.WebControls.Adapters.MenuAdapter" />
        </controlAdapters>
    </browser>
    <browser id="Mozilla" parentID="Default">
        <identification>
            <userAgent match="Mozilla" />
        </identification>
        <capture>
        </capture>
        <capabilities>
            <capability name="browser"
                        value="Mozilla" />
            <capability name="cookies"
                        value="false" />
            <capability name="inputType"
                        value="keyboard" />
            <capability name="isColor"
                        value="true" />
            <capability name="isMobileDevice"
                        value="false" />
            <capability name="maximumRenderedPageSize"
                        value="300000" />
            <capability name="screenBitDepth"
                        value="8" />
            <capability name="supportsBold"
                        value="true" />
            <capability name="supportsCss"
                        value="true" />
            <capability name="supportsDivNoWrap"
                        value="true" />
            <capability name="supportsFontName"
                        value="true" />
            <capability name="supportsFontSize"
                        value="true" />
            <capability name="supportsImageSubmit"
                        value="true" />
            <capability name="supportsItalic"
                        value="true" />
            <capability name="type"
                        value="Mozilla" />
        </capabilities>
    </browser>
</browsers>

Exemplo

O exemplo de código a seguir é um arquivo. browser vazio que pode ser criado. Tenha cuidado para não criar referências circulares nos seus arquivos de navegador.

<?xml version="1.0" encoding="utf-8"?>

<browsers>
    <browser id="NewBrowser" parentID="Mozilla">
        <identification>
            <userAgent match="Unique User Agent Regular Expression" />
        </identification>

        <capture>
            <userAgent match="NewBrowser (?'version'\d+\.\d+)" />
        </capture>

        <capabilities>
            <capability name="browser" value="My New Browser" />
            <capability name="version" value="${version}" />
        </capabilities>
    </browser>

    <browser refID="Mozilla">
        <capabilities>
            <capability name="xml" value="true" />
        </capabilities>
    </browser>
</browsers>

Informações do elemento

Manipulador da seção de configuração

System.Web.Configuration.HttpCapabilitiesSectionHandler

Membros de configuração

HttpRequest.Browser

HttpCapabilitiesBase.Browsers

HttpCapabilitiesBase.Capabilities

System.Web.HttpBrowserCapabilities

Locais configuráveis

Diretório de navegadores de nível de raiz de máquina.

Diretório App_Browsers nível de aplicativo

Requisitos

Internet Information Services (IIS) 5.0 ou posterior

.NET Framework versão 2.0 ou posterior

Visual Studio de 2005 ou uma versão posterior

Consulte também

Tasks

How to: Detect Browser Types in ASP.NET Web Pages

Reference

Browsers

Capabilities

HttpCapabilitiesSectionHandler

HttpBrowserCapabilities

deviceFilters Element (ASP.NET Settings Schema)

mobileControls Element (ASP.NET Settings Schema)

browserCaps Element (ASP.NET Settings Schema)

Concepts

ASP.NET Web Server Controls and Browser Capabilities

Securing Browser Definition Files

Configuration Inheritance

ASP.NET Device Filtering Overview

Architectural Overview of Adaptive Rendering

Other Resources

ASP.NET de móveis: O site oficial do Microsoft ASP.NET Site

Configurações gerais (ASP.NET)

ASP.Definições de configuração de rede