Ошибка при использовании httpHandler. Не удалось загрузить файл или сборку или одну из ее зависимостей - PullRequest
0 голосов
/ 24 октября 2011

Я пытаюсь использовать HttpHandler в Asp.Net. Я внес следующие изменения в файл 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 голосов
/ 24 октября 2011

ApplicationController наследуется от System.Web.Page. Попробуйте удалить это из определения класса и просто реализовать IHttpHandler и IRequiresSessionState.

Исходя из базового типа для веб-форм, ваш обработчик будет загружать множество других типов при запуске. Я не уверен, является ли это основной причиной проблемы, но это хорошее место для начала.

...