Freigeben über


ASP.NET-Browserregistrierungstool (Aspnet_regbrowsers.exe)

Das ASP.NET-Browserregistrierungstool analysiert und kompiliert alle systemweiten Browserdefinitionen in eine Assembly und installiert die Assembly im globalen Assemblycache. Das Tool verwendet die Browserdefinitionsdateien (BROWSER-Dateien) aus dem .NET Framework-Unterverzeichnis Browsers. Das Tool befindet sich im Verzeichnis %SystemRoot%\Microsoft.NET\Frameworkversion\.

In ASP.NET, Version 1.1, enthielt die Datei Machine.config den Abschnitt <browserCaps>. In diesem Abschnitt befand sich eine Reihe von XML-Einträgen, mit denen die Konfigurationen für verschiedene Browser anhand eines regulären Ausdrucks definiert wurden. Für ASP.NET, Version 2.0, definiert eine neue BROWSER-Datei die Parameter für einen bestimmten Browser mit XML-Einträgen. Informationen über einen neuen Browser werden hinzugefügt, indem Sie in den Ordner %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers im System eine neue BROWSER-Datei einfügen.

Da eine CONFIG-Datei nicht jedes Mal von einer Anwendung gelesen wird, wenn diese Browserinformationen erfordert, können Sie eine neue BROWSER-Datei erstellen und Aspnet_regbrowsers.exe ausführen, um der Assembly die erforderlichen Änderungen hinzuzufügen. Dies ermöglicht es dem Server, sofort auf die neuen Browserinformationen zuzugreifen. Daher müssen Sie keine Anwendung schließen, um die Informationen abzurufen. Eine Anwendung kann über die Browser-Eigenschaft der aktuellen HttpRequest auf Browserfunktionen zugreifen.

Syntax

aspnet_regbrowsers.exe <options>

Optionen

Option Beschreibung

-?

Zeigt den Hilfetext für Aspnet_regbbrowsers.exe im Befehlsfenster an.

-i

Erstellt die Assembly für die Laufzeitfunktionen des Browsers und installiert sie im globalen Assemblycache.

-u

Deinstalliert die Assembly für die Laufzeitfunktionen des Browsers aus dem globalen Assemblycache.

Hinweise

Browserdefinitionsdateien können systemweit gültig oder anwendungsspezifisch sein, und jeder Typ befindet sich an einem anderen Speicherort. Systemweite Browserdefinitionsdateien werden im Verzeichnis %SystemRoot%\Microsoft.NET\Framework\version\CONFIG\Browsers gespeichert. Dieses Verzeichnis enthält vordefinierte Browserdefinitionsdateien, die mit der entsprechenden Version von .NET Framework geliefert werden, und ggf. weitere Browserdefinitionsdateien, die von Softwareaktualisierungen oder Service Packs in das Verzeichnis kopiert wurden. Die mit ASP.NET gelieferten vordefinierten Browserdefinitionsdateien sollten nicht geändert werden, da diese Dateien möglicherweise durch Service Packs aktualisiert werden und Ihre Änderungen dabei überschrieben werden.

Anwendungsspezifische Browserdefinitionsdateien können im Verzeichnis App_Browsers der Anwendung gespeichert werden. An beiden Speicherorten müssen Browserdefinitionsdateien die Dateinamenerweiterung .browser aufweisen. Die Verwendung des ASP.NET-Browserregistrierungstools wirkt sich nicht auf anwendungsspezifische Browserdateien aus, die im Verzeichnis App_Browsers einer Anwendung gespeichert sind.

Wenn Browserdefinitionsdateien auf Systemebene geändert werden, verursachen die Änderungen nicht automatisch eine Aktualisierung der Browserfunktionen für alle Anwendungen. Sie müssen das ASP.NET-Browserregistrierungstool ausführen, um die Assembly für Browserfunktionen zu aktualisieren.

Hinweis

Das ASP.NET-Browserregistrierungstool kompiliert Browserdefinitionen im Verzeichnis Browsers der Version von .NET Framework, die der Version des Tools entspricht. Jede Version von .NET Framework verfügt über eine eigene Kopie des Tools.

Das ASP.NET-Browserregistrierungstool analysiert und kompiliert alle systemweiten Browserdefinitionen in eine Assembly und installiert die Assembly im globalen Assemblycache. Wenn in den systemweiten Browserdefinitionen Fehler auftreten, werden sie vom Tool gemeldet. Die Assembly für Browserfunktionen wird von allen Webanwendungen im System verwendet. Beachten Sie, dass Sie mit der BrowserCapabilitiesCodeGenerator-Klasse systemweite Browserdefinitionsdateien auch programmgesteuert erneut kompilieren können.

Verhalten

Bei der Ausführung des ASP.NET-Browserregistrierungstools wird eine neue Assembly erstellt, und die Auswirkungen auf alle Webanwendungen sind dieselben wie bei einer Änderung der Datei Machine.config: Alle ausgeführten Webanwendungen werden wiederverwendet, und Microsoft Internetinformationsdienste (IIS) wird neu gestartet. Das Tool generiert außerdem eine nach dem Zufallsprinzip erzeugte Privattokendatei und erstellt eine Schlüsseldatei zum Signieren der Assembly, sodass die Assembly im globalen Assemblycache installiert werden kann. Die Schlüsseldatei wird entfernt, wenn das Tool beendet wird, und nur der öffentliche Schlüssel bleibt erhalten.

Informationen der Browserdefinitionsdateien werden zur Laufzeit in einem BrowserCapabilitiesFactory-Objekt zu einer Auflistung von bekannten Browsern zusammengeführt. Wenn eine Anforderung erfolgt, identifiziert ASP.NET anhand des Anforderungsheaders den anfordernden Browser und kompiliert ein HttpBrowserCapabilities-Objekt, das dem Typ des angeforderten Browsers entspricht.

Hinweis

Das Definieren von Browsern mithilfe des <browserCaps>-Elements in der Datei Web.config ist in .NET Framework, Version 2.0, veraltet, wird jedoch weiterhin unterstützt. Die Daten in diesem Element werden mit den Informationen aus den Browserdefinitionsdateien zusammengeführt.

Browserdefinitionsdateien auf Anwendungsebene werden hingegen automatisch analysiert und bei Bedarf kompiliert, wenn die Anwendung gestartet wird. Wenn am Verzeichnis Browsers der Anwendung Änderungen vorgenommen werden, wird die Anwendung automatisch erneut kompiliert. Das ASP.NET-Browserregistrierungstool hat keine Auswirkungen auf Browserinformationsdateien auf Anwendungsebene.

Beispiele

Um alle systemweiten Browserdefinitionen zu analysieren, in eine Assembly zu kompilieren und die Assembly im globalen Assemblycache zu installieren, führen Sie Aspnet_regbrowsers.exe aus. Die Assembly wird mit dem folgenden Befehl erstellt und installiert:

C:\WINDOWS\Microsoft.NET\Framework\<versionNumber>\aspnet_regsql.exe -i

Sie können auch mit dem Tool die Browserdefinitionsassembly aus dem globalen Assemblycache entfernen. Der folgende Befehl entfernt die Browserdefinitionsassembly aus dem globalen Assemblycache:

aspnet_regsql.exe -u

Um Hilfe zur Verwendung des ASP.NET-Browserregistrierungstools zu erhalten, verwenden Sie den folgenden Befehl:

aspnet_regsql.exe -?

Siehe auch

Aufgaben

Gewusst wie: Erkennen von Browsertypen auf ASP.NET-Webseiten

Referenz

Schema der Browserdefinitionsdatei (browsers-Element)
BrowserCapabilitiesFactory
Browser
HttpCapabilitiesBase

Konzepte

ASP.NET-Webserversteuerelemente und Browserfunktionen
Absichern von Browserdefinitionsdateien