站点部署,asp页面工作正常,但不是我的处理程序

时间:2012-03-01 09:22:54

标签: asp.net

我在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?

1 个答案:

答案 0 :(得分:0)

我终于找到了这个是什么。我描述的部署过程很好。您需要知道的是,您需要根据要添加的处理程序类型来调整IIS设置。

就我而言,我需要在IIS中添加扩展名(.text)。

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