Warum ist ConfigurationManager.GetSection "system.webServer / Handler" nicht verfügbar?

8

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:

  • Web.configs sind verschachtelt, ConfigurationManager.GetSection berücksichtigt die Verschachtelung standardmäßig.
  • Das allgemeine Problem besteht darin, zu überprüfen, ob * .loc-Dateien geliefert werden.

Bisher: Sieht so aus, als ob der system.webServer ignoriert wird.

    
Kees C. Bakker 03.01.2012, 13:06
quelle

2 Antworten

2

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.

    
Damien_The_Unbeliever 03.01.2012, 14:12
quelle
2

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.

    
Royi Namir 03.01.2012 13:49
quelle