none
急问!为什么我的GLOBAL.ASAX里的代码不执行? RRS feed

  • 问题

  •  我在Application_BeginRequest里写了一些记录请求的动作。
    放在一个单独的测试网站里(非常简单就3个页面和一个GLOBAL.asax) 执行没问题,放服务器上也没问题。
    然后我写到另一个网站的GLOBAL上,这个网站是要编译发布的(每页面使用独立DLL)。 
    发布之后,放到服务器上,Global.asax 内的东西都不执行。
    我写了日志代码。发现确实根本没有执行。 。。。。。。。。
    编译后的网站BIN里有 Global.asax.dll的。

    很急啊。。。谢谢大家帮忙了。。


    2009年2月19日 9:22

答案

  • 我的是这么解决的:
    在WebApplication里加是不行的,不好使,只能在创建一个文件系统的网站,只放这个文件,编译出来,上传,将WebApplication工程里面的删除
    ,另外,在上传的时候先使用app_offline.htm停止应用程序。



    孟宪会
    2009年2月20日 6:39
    版主

全部回复

  • 以上内容回复错了地方 。

    以下是本帖的回复:

    确实,我也遇到过这样的情况,由于服务器我无权控制,没有查是什么原因,但是可以使用下面的方法解决:
    将你的代码直接写在Global.asax里,不要写在cs,就像下面

    <%@ Application Language="C#" %>
    <script RunAt="server">
      protected void Application_BeginRequest(object sender, EventArgs e)
      {
        //将你的代码写在这个地方
      }
    </script>

    就可以解决问题





    孟宪会
    2009年2月19日 10:12
    版主
  • 孟老师, 我就是用这样写的,但是还是无效。。

    有的人说 编译前删除GLOBAL.ASAX
    编译以后把GLOBAL.ASAX复制进去 就可以。。。


    我这样试了本机没问题。。但是上服务器还是不行。。
    而且连WEB.CONFIG里的  
    <customErrors mode="Off" defaultRedirect="SysError.aspx">
       <error statusCode="404" redirect="SysNotFound.aspx"/>
      </customErrors> 都无效了 无论我改On 还是Off   都不能处理404问题了。。。

    2009年2月20日 5:54
  • 我的是这么解决的:
    在WebApplication里加是不行的,不好使,只能在创建一个文件系统的网站,只放这个文件,编译出来,上传,将WebApplication工程里面的删除
    ,另外,在上传的时候先使用app_offline.htm停止应用程序。



    孟宪会
    2009年2月20日 6:39
    版主
  • 看看你的服务器上应用程序根目录是不是有个PrecompiledApp.config, 有的话删除试试!
    删除后可能需要iisreset生效

    2009年3月19日 6:45