我如何测试我的asp.net httphandler

时间:2011-01-28 20:27:07

标签: asp.net

我正在尝试编写一个小型Web应用程序,用于将请求转发到我的网页上的新页面。首先我实现了一个IHttpHandler并且在ProcessRequest方法中我很想打印出请求页面,我的conde看起来像这样:

public class RedirectHandler : IHttpHandler
    {
        public bool IsReusable
        {
            get { return true; }
        }

        public void ProcessRequest(HttpContext context)
        {
            context.Response.Write(context.Request.Path);
        }
    }

我已在web.config中注册并且在测试处理程序时遇到问题。我通过visual studio开始,它只是列出我的文件。然后我从浏览器请求一个文件,并期望在浏览器中看到该名称,但是抛出了找不到页面的异常。我删除了所有其他.aspx页面,所以我唯一的“页面”是我的http处理程序。有人能指出我正确的方向吗?

修改 配置设置(web.config)

<system.webServer>
     <modules runAllManagedModulesForAllRequests="true"/>
    <handlers>
      <add name="RedirectHandler" resourceType="Unspecified" verb="*" path="*.html" type="Jeeves.RedirectHandler"/>
    </handlers>
  </system.webServer>

1 个答案:

答案 0 :(得分:0)

system.webServer / handlers 配置元素中的条目仅在运行IIS 7(在集成模式下)时才有效。在项目属性的 Web 部分中指定使用本地IIS Web服务器(如果您有IIS7)使用系统。改为使用web / httpHandlers 元素:

<system.web>
   <httpHandlers>
       <add  verb="*" path="*.html" type="Jeeves.RedirectHandler"/>
   </httpHandlers>
</system.web>