我正在学习开发如何为 IIS 创建一个模块以供 Web 应用程序使用。当我将我的 .dll 添加到 IIS 中托管的 Web 应用程序的 /bin 文件夹时,它可以工作。
但是,如果我将此 .dll 添加到根本地服务器> Modules > Configure Native Modules and Register。它不起作用,当我运行 Web 应用程序时,正在使用的 AppPool 已停止,我从 eventviewer 看到的日志是这样的:
在模块 DLL %windir%\TestWebAgent\x86\TestModule.dll 中找不到 RegisterModule 入口点。数据是错误的。
这是我扩展 IHttpModule 的类:
using System;
using System.Web;
namespace MyTestModule
{
public class TestModule : IHttpModule
{
public void Dispose()
{
throw new NotImplementedException();
}
public void Init(HttpApplication application)
{
application.BeginRequest += (new EventHandler(this.Application_BeginRequest));
}
private void Application_BeginRequest(Object source, EventArgs e)
{
HttpApplication application = (HttpApplication)source;
HttpContext context = application.Context;
context.Response.Write("<h1><font color=green>AUTHENTICATED</font></h1><hr>");
}
}
}