Iis Can';t在GAC中加载HttpModule

Iis Can';t在GAC中加载HttpModule,iis,gac,httpmodule,Iis,Gac,Httpmodule,我在.NET3.5中编写了一个HttpModule,并尝试在IIS 10服务器的根服务器上安装。我使用gacutil.exe v7.0A成功安装它,并使用/l命令确认我的模块存在。我将以下配置添加到C:\Windows\System32\inetsrv\config\applicationHost.config: <add name="ModuleModEF35" type="ModuleModEF35.MyModule, ModuleModEF35" preCondition="mana

我在.NET3.5中编写了一个HttpModule,并尝试在IIS 10服务器的根服务器上安装。我使用gacutil.exe v7.0A成功安装它,并使用/l命令确认我的模块存在。我将以下配置添加到C:\Windows\System32\inetsrv\config\applicationHost.config:

<add name="ModuleModEF35" type="ModuleModEF35.MyModule, ModuleModEF35" preCondition="managedHandler" />

该应用程序池的.NET Framework版本是什么?请注意,同一台计算机上有两个GAC,因此,如果安装到错误的GAC,则会出现错误。应用程序池使用4.0。我已经检查了模块是否在C:\Windows\assembly\GAC\msil中。如果您将其安装到错误的位置,我将使用开发人员命令提示符VS2015并键入命令:“gacutil-if[my dll path]”。我发现我的dll安装在“C:\Windows\assembly\GAC\MSIL”中,而不是“C:\Windows\Microsoft.Net\assembly\GAC\MSIL”中。不确定是否有什么问题。
namespace ModuleModEF35
{
    class MyModule : System.Web.IHttpModule
    {
        void IHttpModule.Dispose()
        {

        }
        void IHttpModule.Init(HttpApplication context)
        {
            context.BeginRequest += Context_BeginRequest;
        }
        private void Context_BeginRequest(object sender, EventArgs e)
        {
            HttpContext context = HttpContext.Current;
            if (context.Request.RawUrl.Contains("%EF"))
            {
                context.Response.Redirect("https://http.cat/403");
                context.Response.End();
            }

        }
    }
}