ASP.NET HTTPHandler не выдает исключение, когда ожидается - PullRequest
1 голос
/ 17 июня 2010

У меня есть класс HttpHandler (реализует IHttphandler), где путь, определенный для обработчика в web.config, равен * .jpg. Я запрашиваю изображение Jpg на моей странице. В обработчике HTTP я пишу в файл в файловой системе. Я по ошибке пытался записать в несуществующий каталог. Это должно было вызвать исключение, но выполнение просто продолжается. Конечно, файл не записывается. Но если я дам правильный каталог, файл будет написан правильно. Есть ли что-то особенное в исключениях HttpHandler. Смотрите часть кода

 public void ProcessRequest(HttpContext context){

        File.WriteAllLines(context.Request.ApplicationPath+@"\"+"resul.log",new string[]{"Entered JPG Handler"});

Если я поставлю точку останова в операторе File.WriteAllLines, а затем перешагну через нее, я смогу увидеть исключение.

Ответы [ 2 ]

0 голосов
/ 17 июня 2010

Request.Application возвращает корневой каталог виртуального приложения приложения на сервере.Например: "/ YourApp", в отличие от "C: \ inetpub \ wwwroot \ YourApp."

Вероятно, что File.WriteLine (...) is фактически записывает файл куда-то, вероятно, в ту же папку, что и процесс веб-сервера.

РЕДАКТИРОВАТЬ: Вот некоторые из вероятных мест для проверки:

  • при использовании встроенного веб-сервера VS2008

    C:\Program Files (x86)\Common Files\microsoft shared\DevServer\9.0

  • еслииспользуя встроенный веб-сервер VS2010

    C:\Program Files (x86)\Common Files\microsoft shared\DevServer\10.0

  • при использовании IIS

    C:\Windows\System32\inetsrv илиC:\Windows\SysWOW64\inetsrv

0 голосов
/ 17 июня 2010

ASP.NET может только перехватывать расширения файлов ASP.NET, такие как .aspx, и не обрабатывать другие типы контента (т.е., возможно, ваши jpegs вообще пропускаются).

Это обычные расширения файлов, сопоставленные с ASP.NET для обработки .

Возможно, вам придется сопоставить другие расширения файлов (например, .jpeg, .jpg и т. Д.)в IIS для процессора ASP.NET - Эта статья Microsoft рассказывает, как .

...