使用httpHandler时出错。无法加载文件或程序集或其依赖项之一

时间:2011-10-24 06:55:23

标签: c# asp.net asp.net-mvc ihttphandler

我正在尝试在Asp.Net中使用HttpHandler。我在Web.Config文件中进行了以下更改。

<httpHandlers>
    <add verb="*"path="Crm"validate="false"type="PracticeWeb.ApplicationController,PracticeWeb"/>
</httpHandlers>

同样在ApplicationController.cs文件中

public class ApplicationController : System.Web.UI.Page, System.Web.IHttpHandler, System.Web.SessionState.IRequiresSessionState

{
    public ApplicationController()
    {
        //
        // TODO: Add constructor logic here
        //..
    }

    public  void ProcessRequest(HttpContext context)
    {
        HttpRequest Request = context.Request;
        HttpResponse Response = context.Response;
        // This handler is called whenever a file ending 
        // in .sample is requested. A file with that extension
        // does not need to exist.
        Response.Write("<html>");
        Response.Write("<body>");
        Response.Write("<h1>Hello from a synchronous custom HTTP handler.</h1>");
        Response.Write("</body>");
        Response.Write("</html>");
    }
    public bool IsReusable
    {
        // To enable pooling, return true here.
        // This keeps the handler in memory.
        get { return false; }
    }

}

我收到以下错误。在Web.Config的下一行

<add verb="*" path="Crm" validate="false" type="PracticeWeb.ApplicationController,PracticeWeb"/>

配置错误 描述:处理为此请求提供服务所需的配置文件时发生错误。请查看下面的具体错误详细信息并相应地修改配置文件。

分析程序错误消息:无法加载文件或程序集“PracticeWeb”或其依赖项之一。系统找不到指定的文件。

Url用于访问该应用程序。 http://localhost:1300/WebSitesPrac/Crm

1 个答案:

答案 0 :(得分:0)

ApplicationController继承自System.Web.Page。尝试从类定义中删除它,只需实现IHttpHandler和IRequiresSessionState。

通过从WebForms的基类型派生,您的处理程序将在运行时加载许多其他类型。我不确定这是否是问题的根本原因,但这是一个很好的起点。