web.conifig:
<httpHandlers>
<add verb="*" path="*.htm" type="AdminHandler,AdminDLL"/>
</httpHandlers>AdminHandler.cs:
public void ProcessRequest(HttpContext context)
        {
            //这里发布后就没有执行
        }
        public bool IsReusable
        { get { return true; } }
我在admin目录下的web.config里加了httpHandlers如上调试的时候没问题,发布后访问admin目录下的htm页面就不执行了`请问是怎么回事``ps:我调试的时候路径前面要多个"web":如http://localhost:4345/web/admin/cs.htm
而我发布后的访问地址是http://www.x.com/admin/cs.htm 与这个有关系吗,如果有关系如何解决?

解决方案 »

  1.   

    做东西前问问空间服务商支持不支持那种伪造.htm所需要的配置,然后再动手写程序。
      

  2.   

    是不是没弄IIS里面的控件= =
      

  3.   

    Internet 信息服务 (IIS) 仅将对某些文件类型的请求传递到 ASP.NET 进行处理。默认情况下,具有 .aspx、.ascx、.asmx 和 .ashx 等文件扩展名的文件已经映射到 ASP.NET ISAPI 扩展名 (Aspnet_isapi.dll)。但是,要使 IIS 将自定义文件扩展名传递到 ASP.NET,必须在 IIS 中注册这些扩展名。有关更多信息,请参见 ASP.NET 应用程序生命周期概述。在 IIS 中映射文件扩展名
    在 Windows 中,打开 Internet 信息服务 (IIS) 管理器。依次打开您的计算机的节点、“网站”节点和“默认网站”节点。右击应用程序的名称,然后单击“属性”。单击“目录”选项卡(在 IIS 6.0 中为“虚拟目录”选项卡),然后单击“配置”。在“映射”选项卡上,单击“添加”,然后为希望 IIS 转发到 ASP.NET 的文件扩展名创建新的关联。 
      

  4.   

    楼上的大哥已经都答完了,我来补充一下。用VS自带的那个asp.net小服务器默认是关联所以的扩展名,也就是不管什么类型的文件都会由asp.net的引擎处理,所以你调试的时候是正确的。到IIS环境后,不映射,那么IIS就但一般的数据文件传给浏览器,不会用通过asp.net引擎,当然也无从处理你自定义的HttpHandler了。