我有一个用IHttpHandler用c#编写的简单处理程序。如何让它在IIS上运行?我按照http://mvolo.com/developing-iis7-modules-and-handlers-with-the-net-framework/#handler中的教程进行了操作,但它对我不起作用。
在IIS7中我的步骤:
我创建了一个名为“SAMPLE”的新网页
从HandleMappings我按下了“添加管理处理程序”
我填写列 - >请求路径:* .tm类型:SampleServer.MyHandler名称:MyHandler
尝试打开localhost / SampleServer.tm /
我收到此错误:MyHandler模块列表中的“ManagedPipelineHandler”模块无效。 错误代码:0x8007000d
Web.сonfig文件自动生成:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="MyHandler" path="*.tm" verb="*" type="SampleServer.MyHandler" resourceType="Unspecified" preCondition="integratedMode" />
</handlers>
</system.webServer>
</configuration>
我的handler.cs文件:
namespace SampleServer
{
class MyHandler : IHttpHandler
{
public bool IsReusable
{
get { return false; }
}
public void ProcessRequest(HttpContext context)
{
DateTime dt = DateTime.Now;
context.Response.Write(String.Format("<h1>{0}</h1>", dt.ToLongTimeString()));
}
}
}
答案 0 :(得分:0)
在cmd:
上运行此命令 "%windir%\Microsoft.NET\Framework\"YOUR .NET VERSION"\aspnet_regiis.exe" -i
然后,如果您的网站的.NET版本低于* .dll文件的版本,请从应用程序池中更改它。之后它运作良好。