我正在尝试在我无法控制的托管服务器上安装asp.net http模块,(它安装了asp.net 4.0 frameworkd和IIS v7.5)。到目前为止,我在本地编译了我的module.cs文件(我使用visual studio 2010 Publish Web选项编译它)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace MyNamespace
{
public class myModule : IHttpModule
{
public myModule() { }
public void Init(HttpApplication application)
{
application.EndRequest += (new EventHandler(this.Application_EndRequest));
}
private void Application_EndRequest(Object source, EventArgs e)
{
HttpApplication application = (HttpApplication)source;
HttpContext context = application.Context;
context.Response.Write("msg from EndRequest<br>");
}
public void Dispose() { }
}
}
并将已编译的.dll升级到服务器webroot / bin文件夹,并更改了webroot / web.config文件以包含
<system.webServer>
<modules>
<add name="myModule" type="MyNamespace.myModule"/>
</modules>
</system.webServer>
并没有发生任何事情。有什么问题,怎么调试呢?
编辑:刚刚发现我在经典模式下运行。它的工作原理是为该模式更正了web.config。对不起,我的脑袋坏了。答案 0 :(得分:0)
如果您的托管服务未自动重启,则必须重新启动您的网站。
答案 1 :(得分:0)
<system.webServer>
<modules>
<add name="myModule" type="MyNamespace.myModule"/>
</modules>
</system.webServer>
你能改变type = part吗?您应该使用“MyNamespace.myModule,程序集名称”