Я развернул веб-сайт с помощью 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 никогда не читается?