Ich versuche eine Konfiguration in meiner global.aspx Application_Start
-Methode zu lesen. Wenn ich ConfigurationManager.GetSection("system.web/httpHandlers")
lese, ist alles in Ordnung:
ConfigurationManager.GetSection ("system.web / httpHandlers") {System.Web.Konfiguration.HttpHandlersSection} base {System.Configuration.ConfigurationSection}: {System.Web.Configuration.HttpHandlersSection} Handler: Count = 48
Aber wenn ich ConfigurationManager.GetSection("system.webServer/handlers")
lese (was meine benutzerdefinierten Handler enthält, gibt es null
zurück. Was mache ich falsch?
Der Abschnitt sieht folgendermaßen aus:
%Vor%Anmerkungen:
ConfigurationManager.GetSection
berücksichtigt die Verschachtelung standardmäßig. Bisher: Sieht so aus, als ob der system.webServer ignoriert wird.
Abhängig von Ihrem Betriebssystem / Setup kann das system.webServer
-Element so konfiguriert werden, dass es ignoriert wird - und das Konfigurations-System wird keine inneren Konfigurationselemente daraus erstellen. Z.B. Auf meinem Computer (WinXP, IIS 5.1) ist die Einstellung standardmäßig deaktiviert.
Überprüfen Sie das machine.config
auf dem Computer, auf dem dieser Code ausgeführt wird, und sehen Sie, wie das Element system.webServer
konfiguriert ist. Ich habe momentan keine Maschinen mit geeigneten späteren Betriebssystemen, aber es kann sein, dass dieses Element immer ignoriert wird - schließlich ist dieser Teil der Konfiguration eher für IIS als für unseren eigenen.
versuchen:
** S. Meine web.config enthält: <httpHandlers>
und nicht handlers
als Ihre. unbedingt ändern :) - auch der Webserver vs system.web **
%Vor%
ps. Das ist das Problem mit diesem Abschnitt - er hat keinen eindeutigen Elementnamen, der genommen werden kann. deshalb nimmst du es ganz ("add" -Element) und analysierst es.
Tags und Links web-config c# asp.net iis httphandler