我在IIS6上使用Visual Studio 2010部署了一个网站。我使用了四种可用方法之一:基本文件副本。这就像订购构建到不同的位置,而不是项目文件夹中的常用调试/发布路径。
无论如何,我发布的网站都是响应式的。由于我已经给出了所有授权,我可以浏览内容,获取文件,最重要的是执行asp / aspx页面。
我已经声明了以下的http处理程序,它在调试模式(即http://localhost/blablabla.text)中回答了URL / [anytext] .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;
}
}
}
}
在我的IIS虚拟目录的根目录部署的web.config:
<?xml version="1.0"?>
<configuration>
<system.web>
<compilation targetFramework="4.0" />
<httpHandlers>
<add verb="*" path="*.text" type="WebApplication3.HttpHandler, WebApplication3"/>
</httpHandlers>
</system.web>
</configuration>
如果可以提供帮助,这就是我在VS2010解决方案中的web.config:
<?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?
答案 0 :(得分:0)
我终于找到了这个是什么。我描述的部署过程很好。您需要知道的是,您需要根据要添加的处理程序类型来调整IIS设置。
就我而言,我需要在IIS中添加扩展名(.text)。