asp.net - how to Read Ihttpmodule from web.config system.web and system.webServer -


web.config looks like:


   <system.web>    <httpmodules>   <add name="dotnetcasclient" type="dotnetcasclient.casauthenticationmodule,dotnetcasclient"/>     </httpmodules>   </system.web>      <system.webserver>      <modules>     <remove name="dotnetcasclient"/>     <add name="dotnetcasclient" type="dotnetcasclient.casauthenticationmodule,dotnetcasclient"/>       </modules>  </system.webserver> 

in c# code:

  [assembly: preapplicationstartmethod(typeof(casclientstart), "start")]   namespace dev.casclient  {  public static class casclientstart {      /// <summary>     ///     starts application     /// </summary>     public static void start()     {         if( !..... registered (dotnetcasclient) in web.config)         dynamicmoduleutility.registermodule(typeof(dotnetcasclient));      }    }    } 

how read httpmodule web.config ? before dynamic register module,i want check web.confg @ first.


my solution,

   // final solution     public static void start()     {        var iwantreg = typeof(casclientmodule).fullname;         var configuration = webconfigurationmanager.openwebconfiguration("~");     if (httpruntime.usingintegratedpipeline)     {         var websermodules = configuration.getsection("system.webserver");          var xml = websermodules.sectioninformation.getrawxml();          xdocument xmlfile = xdocument.load(new stringreader(xml));         ienumerable<xelement> query = c in xmlfile.descendants("modules").descendants("add") select c;          foreach (xelement band in query)         {             var attr = band.attribute("type");              var strtype = attr.value.split(',').first();              if (strtype.tolower() == iwantreg.tolower())                 return;         }     }     else     {         object o = configuration.getsection("system.web/httpmodules");         httpmodulessection section = o httpmodulessection;         var models = section.modules;          foreach (httpmoduleaction model in models)         {             if (model.type.split(',').first() == iwantreg)                 return;         }     }       dynamicmoduleutility.registermodule(typeof(casclientmodule));  } 

终于解决了这个问题,分别通过集成与经典格式两种方式。 感谢朋友们的帮助。

would work you? (untested)

configuration configuration =  webconfigurationmanager.openwebconfiguration("~"); object o = configuration.getsection("system.web/httpmodules"); httpmodulessection section = o httpmodulessection; var kvp = section.currentconfiguration.appsettings.settings["name"]; 

Comments

Popular posts from this blog

php - Calling a template part from a post -

Firefox SVG shape not printing when it has stroke -

How to mention the localhost in android -