registering httpModules in web.config

后端 未结 5 1982
死守一世寂寞
死守一世寂寞 2020-12-29 05:34

I am trying to register a custom HttpHandler in the web.config file. MSDN\'s example shows an entry that is commented out...um which doesn\'t work so well.

相关标签:
5条回答
  • 2020-12-29 05:54

    I am still learning much of the terminology and needed it spelled out for me. In case any of you need the same...

    As an example if:

    • The base class name and project name is TestSite
    • The namespace my class is in is BusinessLogic
    • The class name is PageAuthorization

    in the Web.config file...

    <configuration> 
     <system.web> 
      <httpModules> 
       <add type= "BusinessLogic.PageAuthorization, TestSite" name="PageAuthorization" /> 
      </httpModules> 
     </system.web> 
    </configuration>
    

    In my case I had to mark my class with IHttpModule. The definition of the class would look like:

    public class PageAuthorization : IHttpModule
    
    0 讨论(0)
  • 2020-12-29 05:54

    The type value is in the format of {Class}, {assembly}.

    So in your case, it should be MyHttpModule, MyDllName

    Where MyDllName is the name of the compiled DLL.

    0 讨论(0)
  • 2020-12-29 06:08

    Note for people landing here looking for configuration for IIS 7 and above running in Integrated Mode:

    <configuration> 
     <system.webServer> 
      <modules> 
       <add type= "BusinessLogic.PageAuthorization, TestSite" name="PageAuthorization" /> 
      </modules> 
     </system.webServer> 
    </configuration>
    
    0 讨论(0)
  • 2020-12-29 06:08

    To add to this, it is important to be sure that the .dll you are trying to use is in the project bin folder. I had the problem of making my module in a separate project, but forgetting to push over the .dll file.

    0 讨论(0)
  • 2020-12-29 06:09

    If you are loading Custom module from .Net 4.0 GAC and IIS 6/7 classic mode you have to use below code

     <system.web>
      <httpModules>
      <add name="ClientHttpModule" type="ClientServHttpModule.ClientHttpModule,ClientServHttpModule,Version=1.0.0.0, Culture=neutral, PublicKeyToken=3af8d8e2f9e8b6c3" />
          </httpModules>
     </system.web>
    

    ClientServHttpModule is namespace of your custom module. Public key token you can get it from sn.exe app.

    if you are running in Integrated mode.use below code

    <system.webServer>
            <modules>
                <add name="ClientHttpModule" type="ClientServHttpModule.ClientHttpModule,ClientServHttpModule,Version=1.0.0.0, Culture=neutral, PublicKeyToken=3af8d8e2f9e8b6c3" />
            </modules>
        </system.webServer>
    
    0 讨论(0)
提交回复
热议问题