Aracılığıyla paylaş


Tarayıcı Tanım Dosyası Şeması (browsers Ögesi)

Tarayıcı tanım dosyaları, her tarayıcı için tanım içerir. Çalışma zamanında ASP.NET, tarayıcının ne tür istek yaptığını belirlemek için istek başlığındaki bilgileri kullanır. Sonra, ASP.NET tarayıcı capabilities ögeleri belirlemek için .browser dosyalarını kullanır. ASP.NET denetim bağdaştırıcıları, aygıtın türüne bağlı olarak ASP.NET Web sunucusu denetimi davranışını uyarlamak için bu bilgileri kullanabilir. Örneğin, bir sunucu denetimi mobil aygıt yerine Internet Explorer gibi bir grafik tarayıcısı için farklı bir HTML oluşturabilir.

NotNot

Tarayıcı tanım dosyaları .NET Framework sürüm 2.0'da kullanıma sunulmuştur..NET Framework'ün önceki sürümlerinde, browserCaps ögesi yapılandırma dosyalarındaki tarayıcı tanımlarını belirlemek için kullanılmıştır.

<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>

Öznitelikler ve Ögeler

Öge

Açyklama

adapter

Bir ASP.NET Web sunucusu denetimi ve mevcut tarayıcıda işlemek için kullanılan bağdaştırıcı eşlemesini belirtir. Örneğin, aşağıdaki Nokia.browser dosyasının içerdiği NokiaMobileBrowserRainbow tarayıcısı tanımı, Menu sunucu denetimlerinin MenuAdapter denetim bağdaştırıcı sınıfını kullanarak tarayıcıya uyarlandığını belirtir:

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

adapter ögesinde bulunan gerekli öznitelikler aşağıdaki tabloda açıklanmaktadır.

ÖznitelikAçıklama
adapterType Gerekli String özniteliği.Denetimin tarayıcıya uyarlanma şeklini değiştirmek için kullanılan sınıfın adını belirtir.
controlType Gerekli String özniteliği.Bağdaştırıcıya eşlenecek denetimin adını belirtir.

adapter ögesi alt öge içermez.

browser

Tek tarayıcı tanımı belirtir.

Aşağıdaki tablo browser ögesinin özniteliklerini açıklar.

NotNot
ASP.NET ile birlikte gelen tarayıcı tanım dosyalarını değiştirmeyin çünkü hizmet paketleri yaptığınız değişikliklerin üzerine yazarak bu dosyaları güncelleştirebilir.Bunun yerine, yeni .browser dosyaları oluşturun ve ayarlarını devralmak için yeni bir tarayıcı tanımı içinde parentID özniteliğini veya varolan bir tarayıcı tanımına capabilities eklemek için refID özniteliğini kullanın.

Tarayıcı tanımının refID özniteliğini veya id ve parentID özniteliklerini tanımlaması gerekir.

ÖznitelikAçıklama
id String özniteliği, parentID özniteliği kullanıldığında gereklidir.Tanımlı tarayıcı için eşsiz bir ad belirtir.
parentID String özniteliği, id özniteliği kullanıldığında gereklidir.Ayarları devraldığı üst tarayıcı tanımının eşsiz adını belirtir.Bu ayarlar, geçerli tarayıcı tanımı üzerine yazılabilir.Üst tarayıcı tanımının aynı tarayıcı tanımı dosyası içinde olmasına gerek yoktur, ancak aynı uygulama veya %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers dizini içinde tanımlanmalıdır.Örneğin, WebTV tarayıcısı için yapılan aşağıdaki tanım WebTV.browser dosyasında tanımlanır.IE2 üst tarayıcı tanımı aynı dizindeki IE.browser dosyasında tanımlanır. <browser id=" WebTV " parentID=" IE2 ">
refID
id ve parentID öznitelikleri kullanılıyorsa String özniteliği kullanılamaz.Varolan bir tarayıcı tanımı tanımlayıcısı belirtir.Yeni capabilities ögelerini varolan bir tarayıcı tanımı ile ilişkilendirmek için refID özniteliğini kullanın.Aynı refID'ye başvurmak için birden çok tarayıcı düğümü yapılandırabilirsiniz.refID özniteliği belirtilirse, browser ögesi identification alt ögesini içeremez. refID özniteliği hedeflenen ögeyi değiştirmez; bunun yerine, tüm diğer öznitelik ayarları uygulandıktan sonra kendi ayarları uygulanır.Ayarların uygulanma sırası şöyledir:
  • tüm <gateway parentID> düğümleri

  • tüm <gateway refID> düğümleri

  • tüm <browser parentID> düğümleri

  • tüm <browser refID> düğümleri

Aşağıdaki örnek tanımı, IE.browser dosyasının içerdiği varolan IE tarayıcı tanımına yeni capabilities ögeleri ekler.
<browser refID="IE">
    <capabilities>
        <capability name="UseRichTextBox" value="true" />
    </capabilities>
    <controlAdapters>
        <adapter controlType="System.Web.UI.Calendar"
adapterType="ExampleAdapters.ExampleIECalendarAdapter"
        />
    </controlAdapters>
</browser>

browser ögesi sıfır ya da aşağıdaki alt ögelerden birini içerebilir:

  • capabilities

  • capture

  • controlAdapters

  • identification

  • sampleHeaders

browsers

.browser dosyasının gerekli kök ögesini temsil eder.

capabilities

Geçerli tarayıcı tanımı için ayarlanacak capability değerleri tanımlar. Türü kesin belirtilmiş tarayıcı capabilities listesi için bkz. HttpCapabilitiesBase sınıfı özellikleri. Bu özelliklerin çoğu tarayıcı tanım dosyalarında camel casing kullanır. Ayrıca, kendi capability değerlerinizi ekleyebilirsiniz.

capabilities ögesinin özniteliği yoktur.

capabilities ögesi aşağıdaki alt ögeden hiç içermez veya birden fazla içerebilir:

  • capability

capability (capabilities'in alt ögesi)

Geçerli tarayıcı tanımı için ayarlanacak capability değeri tanımlar. Örneğin, aşağıdaki capabilities, IE.browser dosyasında IE tarayıcı tanımı için tanımlanır. Bu örnek tanım, Mozilla.browser dosyasındaki Mozilla tarayıcı tanımından diğer capabilities ögelerini devralır. Dolar işareti ve ardından gelen süslü parantez içinde metin içeren değerler, identification ögesinin userAgent alt ögesindeki eşleşme ifadesinden yakalanan değerlerle değiştirilir "^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>

capability ögesi, aşağıdaki gerekli öznitelikleri içerir.

ÖznitelikAçıklama
name Gerekli String özniteliği.Capability adını belirtir.Türü kesin belirtilmiş tarayıcı capabilities listesi için bkz. HttpCapabilitiesBase sınıfı özellikleri.Bu özelliklerin çoğu tarayıcı tanım dosyalarında camel casing kullanır, örneğin, CanSendMail yerine canSendMail.Ayrıca, kendi capability değerlerinizi ekleyebilirsiniz.
value Gerekli String özniteliği.Capability değerini belirtir.Türü kesin belirlenmiş tarayıcı capabilities ögelerinin olası değerleri HttpCapabilitiesBase sınıfı özelliklerinde listelenir.Değer özniteliği "$ {}" içinde tutulan değişkenleri içerebilir

capability ögesi alt öge içermez.

capability (identification veya capture'ın alt ögesi)

Üst tarayıcı sınıfından gelen capability değerinin bir normal ifadeye eşlendiğini belirtir. Örneğin, IE.browser dosyasının içerdiği IE5to9 tarayıcısının aşağıdaki tanımı, IE üst tanımının majorversion capability ayarının bu tarayıcı tanımının istemci tarayıcısına eşleşmesi için içerilen normal ifade ile eşleşmesi gerektiğini belirtmek için capability ögesini kullanır. Bu örnek tarayıcı tanımı, üst tanım içinde ögelere ekleyen veya ögelerin üzerlerine yazan capability ögelerini içerir.

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

Aşağıdaki tablo capability ögesinin özniteliklerini açıklar. match veya nonMatch özniteliği tanımlanmış olmalıdır, ancak her ikisi birden tanımlanmamalıdır.

ÖznitelikAçıklama
match String özniteliği, nonMatch özniteliği gibi aynı ögede kullanılamaz.Üst capability ayarının bu kimliği karşılamak için eşleşmesi gereken normal ifadeyi belirtir.Normal ifadeleri biçimlendirme hakkında daha fazla bilgi için bkz. .NET Framework Regular Expressions.
name Gerekli String özniteliği.Üst capability adını belirtir.
nonMatch String özniteliği, match özniteliği gibi aynı ögede kullanılamaz.Bu öznitelik, capture ögesinin capability alt ögesinde kullanılmaz.Üst capability ayarının bu kimliği karşılamak için eşleşmemesi gereken normal ifadeyi belirtir.

capability ögesi alt öge içermez.

capture

Tarayıcı hakkında bilgi yakalamak amacıyla hangi ek header, userAgent veya capability ögelerinin kullanılacağı hakkında bilgi verir. .NET Framework 2.0 yayımlandığı zaman, kullanılabilir olmayan yeni tarayıcıları algılamaya çalışırken bunu kullanmak yararlıdır. Değerleri yakalamak için, tarayıcı tanımı herhangi bir kimlik ögesinin match özniteliğinde normal ifade yakalamaları içerebilir. Örneğin, IE.browser dosyasında tanımlanan aşağıdaki userAgent ögesi, kullanıcı aracısı istek üstbilgisinden ekran yüksekliğini piksel cinsinden yakalar.

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

Tarayıcı tanımının, tarayıcı sınıfını ayırt etmek için kullanılmayan istek üstbilgilerini tarayarak ek bilgileri yakalaması da gerekebilir. Örneğin, aşağıdaki capture ögesi, bir OpenWave cep telefonu için yumuşak tuşların sayısını yakalar. Windows Mobile tabanlı Smartphone üzerinde, karşılık gelen donanım düğmelerine bastığınızda yumuşak anahtarlar menüleri ve komutları görüntüler:

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

capture ögesinin özniteliği yoktur.

capture ögesi aşağıdaki alt ögelerden hiçbirini veya birden fazlasını içerebilir:

  • header

  • userAgent

  • capability

controlAdapters

Tarayıcıda sunucu denetimi uyarlamak için kullanılacak denetim bağdaştırıcısını tanımlar.

Aşağıdaki tablo controlAdapters ögesinin özniteliğini açıklar.

ÖznitelikAçıklama
markupTextWriterType İsteğe bağlı String özniteliği.Kullanılacak biçimlendirme metin yazıcısının .NET Framework türünü belirtir.Varsayılan türü System.Web.UI.XhtmlTextWriter'dır, ancak bu öznitelik için diğer olasılıklar System.Web.UI.Html32TextWriter, System.Web.UI.HtmlTextWriter, System.Web.UI.ChtmlTextWriter veya bu sınıflarının birinden türetilen herhangi bir özel sınıftır.

controlAdapters ögesi aşağıdaki alt ögelerden hiçbirini veya birden fazlasını içerebilir:

  • adapter

defaultBrowser

Default.browser dosyayındaki varsayılan tarayıcı capabilities ögelerini tanımlar. Varsayılan tarayıcı tanımları, belirli bir fiziksel tarayıcı eşleşmez, ancak diğer tanımlar tarafından ayarları devralmak için kullanılır. Örneğin, aşağıdaki Default tarayıcı tanımı Default.browser dosyasında bulunur.

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

Varsayılan tarayıcı tanımı, diğer birçok tarayıcı tanımları tarafından devralınır. Örneğin, aşağıdaki Panasonic tarayıcı tanımı Panasonic.browser dosyasında bulunur.

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

Aşağıdaki tablo defaultBrowser ögesinin özniteliğini açıklar.

ÖznitelikAçıklama
id Gerekli String özniteliği.Tarayıcı için eşsiz bir ad belirtir.

defaultBrowser ögesi, browser ögesi ile aynı alt ögeleri içerebilir.

gateway

Tek ağ geçidi tanımı belirtir. Bazı mobil tarayıcılar, Web sunucusuna kendi capabilities ekleyebilen bir ağ geçidi üzerinden bağlanır. Aynı refID özniteliğine başvuran birden çok ağ geçidi ögesi olabilir.

gateway ögesi, browser ögesi ile aynı özellikleri ve alt ögeleri içerebilir. Örneğin, IE3AK ağ geçidi için yapılan aşağıdaki tanım IE.browser dosyasındadır.

    <gateway id="IE3AK" parentID="IE3">
        <identification>
            <capability name="extra" match="; AK;" />
        </identification>
        <capture>
        </capture>
        <capabilities>
            <capability name="ak"  value="true" />
        </capabilities>
    </gateway>
NotNot
parentID özniteliği %SystemRoot\Microsoft.NET\Framework\versionNumber\CONFIG\Browsers dizininde bulunan varsayılan tanım dosyalarındaki gateway ögesine başvuran browser ögesi içeren uygulamanızda tarayıcı tanım dosyası bulunamaz.Ancak, aynı App_Browsers klasörü içindeki farklı tarayıcı tanım dosyasında başvurmak için parentID özniteliğini ayarlayabilirsiniz.

header (identification veya capture'ın alt ögesi)

İstekte, belirli bir HTTP üstbilgisi ile eşleşen veya onu yakalayan bir ifade belirtir. Örneğin, Default.browser dosyasının içerdiği Wml tarayıcının aşağıdaki tanımı, Accept üstbilgisini iki normal ifade ile karşılaştırarak eşleşen bir tarayıcı tanımlar.

<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şağıdaki tablo header ögesinin özniteliklerini açıklar. match veya nonMatch özniteliklerinden biri mutlaka olmalıdır, ikisi beraber kullanılamaz.

ÖznitelikAçıklama
match String özniteliği, nonMatch özniteliği gibi aynı ögede kullanılamaz.İstek üstbilgi değerinin bu kimliği karşılaması için eşleşmesi gereken normal ifadeyi belirtir.Normal ifadeleri biçimlendirme hakkında daha fazla bilgi için bkz. .NET Framework Regular Expressions.
name Gerekli String özniteliği.Üstbilginin adını belirtir.
nonMatch String özniteliği, match özniteliği gibi aynı ögede kullanılamaz.Bu öznitelik, capture ögesinin capability alt ögesinde kullanılmaz.İstek üstbilgi değerinin bu kimliği karşılaması için eşleşmemesi gereken normal ifadeyi belirtir.

header ögesi alt öge içermez.

header (sampleHeaders'in alt ögesi)

Bu tarayıcı için tek bir örnek başlığı belirtir. Bu öge isteğe bağlıdır ve yalnızca bilgilendirme amacıyla kullanılır. Bir simülatör veya hata ayıklama aracı, istek için tarayıcıya benzemek amacıyla bu üstbilgiler kümesini kullanabilir.

Aşağıdaki tablo header ögesinin özniteliklerini açıklar.

ÖznitelikAçyklama
name İsteğe bağlı String özniteliği.Üstbilginin adını belirtir.
value İsteğe bağlı String özniteliği.Üstbilginin değerini belirtir.

header ögesi alt öge içermez.

identification

Gelen istekten bu tarayıcının nasıl tanımlanacağı hakkında bilgi verir.

identification ögesinin özniteliği yoktur.

identification ögesi aşağıdaki alt ögelerden bir veya birkaç tanesini içerebilir:

  • header

  • userAgent

  • capability

sampleHeaders

Bu tarayıcı için örnek üstbilgi kümesi belirtir. Bu öge isteğe bağlıdır ve yalnızca bilgilendirme amacıyla kullanılır. Bir simülatör veya hata ayıklama aracı, istek için tarayıcıya benzemek amacıyla bu üstbilgiler kümesini kullanabilir.

sampleHeaders ögesinin özniteliği yoktur.

sampleHeaders ögesi aşağıdaki alt ögeden hiç içermez veya birden fazla içerebilir:

  • header

userAgent

İsteğin kullanıcı aracı üstbilgisine eşleşen bir ifade belirtir. Örneğin, IE.browser dosyasının içerdiği IE4 tarayıcısının aşağıdaki tanımı, istekle beraber gönderilen kullanıcı aracı üstbilgisi tarafından tarayıcıyı tanımlamak için "MSIE 4" dizesini kullanır.

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

Aşağıdaki tablo userAgent ögesinin özniteliklerini açıklar. match veya nonMatch özniteliklerinden biri mutlaka olmalıdır, ikisi beraber kullanılamaz.

ÖznitelikAçıklama
match String özniteliği, nonMatch özniteliği gibi aynı ögede kullanılamaz.Kullanıcı aracısının bu kimliği karşılaması için eşleşmesi gereken normal ifadeyi belirtir.Normal ifadeleri biçimlendirme hakkında daha fazla bilgi için bkz. .NET Framework Regular Expressions.
nonMatch String özniteliği, match özniteliği gibi aynı ögede kullanılamaz.Kullanıcı aracısının bu kimliği karşılaması için eşleşmemesi gereken normal ifadeyi belirtir.Bu öznitelik, capture ögesinin capability alt ögesinde kullanılmaz.

userAgent ögesi alt öge içermez.

Açıklamalar

Varolan tarayıcı tanımı dosyalarının hiçbiri ölçütlerinizi karşılamıyorsa, aşağıdaki Örnek bölümündeki kodu kullanarak yeni tarayıcı tanımı dosyaları oluşturabilirsiniz.

Güvenlik notuGüvenlik Notu

Kaynağa güvenmediğiniz sürece üçüncü kişilerin tarayıcı tanım dosyalarını indirmeyin ve yüklemeyin.Bilmediğiniz isim uzaylarına başvurulup başvurulmadığını öğrenmek için yeni bir tarayıcı tanım dosyasını inceleyin.Daha fazla bilgi için bkz. Tarayıcı tanım Dosyalar koruma.

Önceden tanımlanmış tarayıcı tanımı dosyaları %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers dizininde depolanır. Uygulama düzeyi tarayıcı tanım dosyaları uygulamanın App_Browsers dizinine yerleştirilebilir. Her iki konumda, tarayıcı tanım dosyaları .browser dosya adı uzantılı olmalıdır. ASP.NET ile birlikte gelen tarayıcı tanım dosyalarını değiştirmeyin çünkü hizmet paketleri yaptığınız değişikliklerin üzerine yazarak bu dosyaları güncelleştirebilir. Bunun yerine, yeni .browser dosyaları oluşturun ve ayarları devralmak için yeni browser tanımı içinde parentID özniteliğini veya varolan bir tarayıcı tanımına capabilities eklemek için refID özniteliğini kullanın.

Çalışma zamanında, tarayıcı tanımı dosya bilgileri BrowserCapabilitiesFactory nesnesindeki bilinen tarayıcı koleksiyonu içine birleştirilir. Bir istek yapıldığında, ASP.NET istek üstbilgisi tarafından istekte bulunan tarayıcıyı tanımlar ve istenen tarayıcı türüne karşılık gelen HttpBrowserCapabilities nesnesini derler. Bu, boş bir sözlük ile başlayarak ve tarayıcı tanımı ağacına aşağıdaki özyinelemeli adımları uygulamayak yapılır:

  1. Her zaman başarılı eşleşme olarak kabul edilen varsayılan tarayıcı tanımından başlayın.

  2. Bu tarayıcı tanımında belirtilen capability değerlerini, yine bu tarayıcının capabilities sözlüğüne birleştirin. Tarayıcı tanımında belirtilen değerler bir üst değer kümesini geçersiz kılar.

  3. Bir eşleşme belirlemek için her alt öge tanımı değerlendirin. Eşleşen her çocuk için adım 1'den yeniden başlayın. Tarayıcı tanımları ağ geçidi tanımlarından sonra değerlendirilir. Kullanıcı aracısı birden çok tarayıcı tanımı veya birden fazla ağ geçidi tanımı ile eşleşirse, çalıştırma zamanında bir özel durum oluşturulur.

HttpBrowserCapabilities nesnesi önbelleğe alınır ve aynı tür tarayıcıdan gelen farklı bir istek için yeniden kullanılabilir.

Bir Web uygulaması, HttpRequest.Browser özelliğini kullanarak HttpBrowserCapabilities nesnesinin mevcut örneğine erişebilir. Bu nesne salt okunur ve her capability için özellik içerir. Alternatif olarak, bir Web geliştirici HttpBrowserCapabilities sınıfından devralınan özel sınıf oluşturabilir ve HttpRequest.Browser özelliğinde bir örneğini depolayabilir.

App_Browsers dizininde bulunan .browser dosyalarındaki değişiklikler önbelleği geçersiz kılar ve sonraki istek uygulamanın yeniden derlenmesine neden olur. Ancak, %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers dizinindeki .browser dosyalarında değişiklik yapıldıysa, %SystemRoot%\Microsoft.NET\Framework\version\aspnet_regbrowsers.exe aracını kullanarak uygulamayı el ile yeniden derlemeniz veya programlı olarak BrowserCapabilitiesCodeGenerator sınıfını kullanarak derlemeniz gerekir.

NotNot

Tarayıcı tanımlamak için Web.config dosyasındaki browserCaps ögesini kullanmak .NET Framework sürüm 2.0'da kullanım dışıdır; ancak, hala desteklenmektedir.Bu ögedeki veriler tarayıcı tanım dosyalarındaki bilgilerle birleştirilir.

Bir tarayıcı uygulamanız için istekte bulunduğunda, tarayıcı capabilities ögeleri Browser özelliğinde depolanır. Tarayıcı kimliği UserAgent özelliğinde depolanır. ASP.NET Web sunucu denetimleri, farklı tarayıcılar için denetim davranışının uygun şekilde nasıl uyarlanacağı hakkında karar vermek için capabilities listesi sorgular.

Capabilities

Türü kesin belirtilmiş tarayıcı capabilities listesi için bkz. HttpCapabilitiesBase sınıfı özellikleri. Bu özellikler tarayıcı tanım dosyalarında camel casing kullanır. Örneğin, tarayıcı tanım dosyanızda BackgroundSounds capability'si belirtmek istiyorsanız, backgroundSounds yazın.

Ayrıca, kendi capabilities ögelerinizi tanımlayabilirsiniz.

Bir Web uygulaması, capability değerlerini HttpBrowserCapabilities nesnesinden aşağıdaki iki yöntemden biriyle alabilir:

  • Capabilities sözlüğüne erişerek. Özel capabilities için bu yöntemi kullanabilirsiniz.

    Örneğin, mevcut istemci tarayıcısına ECMAScript (JavaScript) capability değeri elde etmek için aşağıdaki kodu kullanabilirsiniz:

    String cap_javascript = Request.Browser["javascript"];
    
  • Bir capability'yi saran türü kesin belirlenmiş bir özellik çağırarak.

    Örneğin, mevcut istemci tarayıcısına ECMAScript capability değeri elde etmek için aşağıdaki kodu kullanabilirsiniz:

    String cap_javascript = Request.JavaScript;
    

Varsayılan Yapılandırma

.NET Framework, %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers dizinindeki önceden tanımlanmış tarayıcı tanımı dosyaları ile gelir. Uygulamanızın App_Browsers dizininde uygulama düzeyi tarayıcı tanım dosyalarını oluşturabilirsiniz. Özel ASP.NET dizinleri hakkında daha fazla bilgi için bkz. ASP.NET Web site Yerleşim.

Aşağıdaki kod örneği, %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers dizinindeki Generic.browser dosyasıdır.

NotNot

%SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers dizininde varolan tarayıcı tanım dosyalarını değiştirmeyin.Bunlar, .NET Framework tarafından korunur.

<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>

Örnek

Aşağıdaki kod örneği, yapılandırabildiğiniz boş bir .browser dosyasıdır. Tarayıcı dosyalarınızda döngüsel başvurular oluşturmamaya dikkat edin.

<?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>

Öğe Bilgileri

Yapılandırma Bölümü İşleyicisi

System.Web.Configuration.HttpCapabilitiesSectionHandler

Yapılandırma Üyesi

HttpRequest.Browser

HttpCapabilitiesBase.Browsers

HttpCapabilitiesBase.Capabilities

System.Web.HttpBrowserCapabilities

Yapılandırılabilir Konumlar

Machine kök düzeyi Browsers dizini

Uygulama düzeyi App_Browsers dizini

Gereksinimler

Internet Information Services (IIS) 5.0 veya sonraki sürümü

.NET Framework sürüm 2.0 veya sonraki sürümü

Visual Studio 2005 veya sonraki sürümü

Ayrıca bkz.

Görevler

Nasıl Yapılır: ASP.NET Web Sayfalar, tarayıcı Türler ve tarayıcı yeteneklerini algılama

Başvuru

Browsers

Capabilities

HttpCapabilitiesSectionHandler

HttpBrowserCapabilities

deviceFilters Ögesi (ASP.NET Ayarlar Şeması)

mobileControls Ögesi (ASP.NET Ayarlar Şeması)

browserCaps Ögesi (ASP.NET Ayarlar Şeması)

Kavramlar

ASP.NET web sunucusu Denetimler ve tarayıcı yetenekleri

Tarayıcı tanım Dosyalar koruma

ASP.NET Yapılandırması senaryoları

ASP.NET aygıt filtresi genel bakış

Mimari bakış Uyarlamalı denetim Davranış

Diğer Kaynaklar

Mobiles için ASP.NET: Resmi Microsoft asp.net Site

Genel Yapılandırma Ayarları (ASP.NET)

ASP.NET Yapılandırma Ayarları