我正在尝试在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
答案 0 :(得分:0)
ApplicationController
继承自System.Web.Page
。尝试从类定义中删除它,只需实现IHttpHandler和IRequiresSessionState。
通过从WebForms的基类型派生,您的处理程序将在运行时加载许多其他类型。我不确定这是否是问题的根本原因,但这是一个很好的起点。