项目发布到iis后,在IE地址栏里直接输入的是一个关于连接到XML文件的URL,在这里我需要用到Global里的一个application_BeginRequest触发事件,通过获取参数知道访问的是那个xml文件,然后跳转到相应的.cs处理类文件,通过参数重新生成xml文件。这里有一个问题,直接调试程序的时候没有问题,但是发布出来后,访问.xml的URL连接进不了Global里面。跪求大家帮帮忙。急着救命。我快崩溃了。谢谢。

解决方案 »

  1.   

    有个思路,可以使用自定义handler来处理xml文件请求
      

  2.   

    你先说清楚IIS版本多少?
      

  3.   

    IIS中应该没有将xml文件交给.net处理的。你需要在iis的网站属性中“主目录”-》“配置”->"应用程序映射“
    把xml加进去。
      

  4.   

    我觉得这个可行
    还有web.config里是不是加上也行啊?
        <httpHandlers>
          <remove verb="*" path="*.asmx"/>
          <add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
          <add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
          <add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
        </httpHandlers>
      

  5.   

    连接到XML文件的URL,这个URL文件的扩展名是什么.
    原因是,这个文件不需要ASP.net处理,所以你有global.asax.cs中的代码是无法生效的.至于你调试有用,是因为VS自带的web服务负责处理任何URL请求,与IIS下面的asp.net不同.
      

  6.   

    你需要在iis的网站属性中“主目录”-》“配置”->"应用程序映射“
    把xml加进去。我是把什么xml 文件加进去呢???????
      

  7.   

    .xml扩展名添加进去,添加的结果跟.aspx相同
      

  8.   


    你的连接到XML文件的URL是什么样子? 给个例子
      

  9.   

    那么可执行文件是什么呢 ?不是告诉你设置跟.aspx一样的吗
    C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_isapi.dll
      

  10.   

    http://服务器地址:端口号/文件名.xml?相应的参数