<%@ Application Language="C#" %><script RunAt="server">    System.Timers.Timer Timer1 = new System.Timers.Timer();
    void Application_Start(object sender, EventArgs e)
    {
        Timer1.Elapsed += new System.Timers.ElapsedEventHandler(Timer1_Elapsed); /
        Timer1.Interval = 1800;
        Timer1.Enabled = true;    }
    /// <summary>
    /// 执行的事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    private void Timer1_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
    {
        lock (Timer1)
        {
            setTestDelegate testdel = new setTestDelegate(Entrust.PlanStock);
            IAsyncResult iaResult = testdel.BeginInvoke(null, null);
            if (iaResult.IsCompleted)
            {
                testdel.EndInvoke(iaResult);
            }
        }
    }
    private delegate void setTestDelegate();    void Application_End(object sender, EventArgs e)
    {
        //  在应用程序关闭时运行的代码    }    void Application_Error(object sender, EventArgs e)
    {
        // 在出现未处理的错误时运行的代码    }    void Session_Start(object sender, EventArgs e)
    {
        // 在新会话启动时运行的代码    }    void Session_End(object sender, EventArgs e)
    {
        // 在会话结束时运行的代码。 
        // 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为
        // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer 
        // 或 SQLServer,则不会引发该事件。    }
       
</script>asp.net 的 global.asax 文件发布之后上传到空间上执行不到。。 
以前上传到VPS上都能执行到。现在换了一个空间就执行不到了。IIS能执行到。在本地测试了的。 
急..急...急...在线等

解决方案 »

  1.   

    服务器设置允许执行代码吗?
    既然页面可以访问??
    若能访问:
    说明global.asax是起了作用了。而本地测试说明代码没有问题,那么你就应该找服务器设置的问题了。。 
      

  2.   


    .Net页面能执行。本地测试能执行。VPS运行正常。虚拟主机就不行。
      

  3.   

    看了下,里面的代码貌似都没问题啊,而且本地iis也正常,到底为什么呢???还是看看服务器的相关设置吧,或者联系一下你发布的空间的商我能想到的就这么多了,希望你赶紧解决
      

  4.   


    <%@ Application Language="C#" %>
    <%@ import Namespace="System.IO" %>
    <%@ import Namespace="DongRen.Wap.MedicalWap.BLL" %>
    <script runat="server">
        void Application_Start(object sender, EventArgs e)
        {
            // 在应用程序启动时运行的代码
            //Timer控件用于控制时间间隔执行事件
            System.Timers.Timer myTimer = new System.Timers.Timer(timeDo(1));
            //OnTimedEvent就是Timer控件按时间间隔来执行的事件
            myTimer.Elapsed += new System.Timers.ElapsedEventHandler(OnTimedEvent);
            myTimer.Interval = timeDo(1);  //在明天1点时候还原挂号数
            myTimer.Enabled = true;
        }
       
        /// <summary>
        /// 获取服务启动时间下一天的时间
        /// </summary>
        /// <param name="times">在明天1点时候还原挂号数,如 1,那么就在明天1点时候还原挂号数</param>
        /// <returns></returns>
        protected int timeDo(int times)
        {
            int hours=Convert.ToInt16(DateTime.Now.Hour);
            int minutes = Convert.ToInt16(DateTime.Now.Minute);
            int dayFullTime = 86400 * 1000;    //24小时
            int lastTime = dayFullTime-(hours * 60 * 60 * 1000 + minutes * 60 * 1000);  //当前启动iis服务时间离当天结束的时间间隔
            int currertTime = lastTime + times * 60 * 60 * 1000;  //服务器启动到设置了明天的时间间隔
            return currertTime;  //返回现在到明天指定时间的正确时间段
        }
        //还原挂号数事件
        private static void OnTimedEvent(object source, System.Timers.ElapsedEventArgs e)
        {
            DateTime day = DateTime.Now;
            int dayNum = 0;
            switch (day.ToString("ddd"))
            {
                case "一":
                    dayNum = 1;
                    break;
                case "二":
                    dayNum = 2;
                    break;
                case "三":
                    dayNum = 3;
                    break;
                case "四":
                    dayNum = 4;
                    break;
                case "五":
                    dayNum = 5;
                    break;
                case "六":
                    dayNum = 6;
                    break;
                case "七":
                    dayNum = 7;
                    break;
                default:
                    break;
            }
           
            BookingRegister Medical = new BookingRegister();
            Medical.UpdateRegCount(dayNum);
        }
        void Application_End(object sender, EventArgs e)
        {
        }
        void Application_Error(object sender, EventArgs e)
        {
        }
        void Session_Start(object sender, EventArgs e)
        {
        }
        void Session_End(object sender, EventArgs e)
        {
        }
         
    </script>
      

  5.   

    我们的代码没问题。本地测试和传到VPS上都没问题。都能运行。但是传到空间上就不不执行。
      

  6.   

    不知道你那个委托事件是干什么用的。。
    除了Application_Start,有没有试过别的事件?也不执行吗??比如Application_BeginRequest
      

  7.   

    网站方式是否是webproject方式
    将代码从global.asax.cs里移到global.asax里,不要global.asax.cs
    否则就是服务器问题 
      

  8.   

    是只有global.asax文件。没有它的cs文件。
      

  9.   

    很久没来CSDN了。差点都忘了。哎。
      结了
        答案如下:global.asax代码文件没错。在发布的时候多生成了一个配置文件。
                  把这个配置文件的后缀改成.bnk就行了。我没删他。因为删服务器的文件我怕了。呵呵。代码可以测试得到。本地能运行的话。就多在发布后的文件里找找那个多余的配置文件。
     
      

  10.   

    同遇到这样的问题啊。global.asax里的代码在本地没问题,但发布到服务器就不执行了。
      

  11.   

    请问,“在发布的时候多生成了一个配置文件”,这个文件是Global.asax吗?是要把这个文件改名吗?