Сайт развернут, страницы asp работают нормально, но не мои обработчики

Я развернул веб-сайт с помощью Visual Studio 2010 на IIS6. Я использовал один из четырех доступных методов: базовое копирование файла. Это похоже на заказ сборки в другом месте, а не в обычном пути отладки/релиза в папке проекта.

Во всяком случае, сайт, который я выпустил, отзывчив. Поскольку я дал все возможные разрешения, я могу просматривать содержимое, получать файлы и, что наиболее важно, выполнять страницы asp/aspx.

Я объявил следующий обработчик http, он отвечает на URL/[anytext].text в режиме отладки (т.е. http://localhost/blablabla.text) и на данный момент отправляет пустой XML. То же самое не работает после развертывания.

Код моего обработчика:

namespace WebApplication3
{
    public class HttpHandler : IHttpHandler
    {
        public void ProcessRequest(System.Web.HttpContext context)
        {
            HttpResponse objResponse = context.Response;
            objResponse.ContentType = "text/plain";
            objResponse.Write("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>");
            objResponse.Write("</xml>");
        }

        public bool IsReusable
        {
            get
            {
                return true;
            }
        }
    }
}

web.config, который развертывается в корне моего виртуального каталога IIS:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <compilation targetFramework="4.0" />
        <httpHandlers>
          <add verb="*" path="*.text" type="WebApplication3.HttpHandler, WebApplication3"/>
        </httpHandlers>
    </system.web>       
</configuration>

И если это может помочь, это файл web.config, который у меня есть в моем решении VS2010:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <compilation debug="true" targetFramework="4.0" />
        <httpHandlers>
          <add verb="*" path="*.text" type="WebApplication3.HttpHandler, WebApplication3"/>
        </httpHandlers>
    </system.web>
</configuration>

Почему это не сработает сразу после релиза? Думаю, чего-то не хватает. Скорее всего, web.config никогда не читается?


person BuZz    schedule 01.03.2012    source источник


Ответы (1)


Наконец-то я нашел, о чем идет речь. Процесс развертывания, который я описал, в порядке. Что вам нужно знать, так это то, что вам нужно настроить параметры IIS в зависимости от того, какой обработчик вы добавляете.

В моем случае мне нужно было добавить расширение (.text) в IIS.

http://msdn.microsoft.com/en-us/library/bb515343.aspx

person BuZz    schedule 01.03.2012