none
怎么让asp.net的程序,web服务器一启动的时候,就执行一段代码,不放在page_load里 RRS feed

答案

全部回复

  • Global.asax 中的 Application_Start

    知识改变命运,奋斗成就人生!
    2009年4月17日 10:08
    版主
  • 可以使用javascript的onload,然后配合webservice来实现。以下例子为添加用户信息的例子:
    前台部分代码

     <asp:ScriptManager ID="ScriptManager1" runat="server">
    
            <Services>
    
                <asp:ServiceReference Path="~/WebService1.asmx" />
    
            </Services>
    
        </asp:ScriptManager>
    
    
    
        <script type="text/javascript">
    
            <span style="text-decoration:underline"><strong>window.onload</strong></span>=function js_Add() {
    
              var js_Xm = document.getElementById("txt_Xm").value;//姓名
    
                var js_Dlm = document.getElementById("txt_Dlm").value;//登录名
    
                var js_Mm = document.getElementById("txt_Mm").value;//密码
    
    MIS_MANAGER.WebService1.add_User(js_Xm, js_Dlm, js_Mm, onSuccess);
    
            }
    
            function onSuccess(success) {
    
                alert(success);
    
                opener.location.reload;
    
            }
    
        </script>
    
    <input type="text" id="txt_Xm" />
    
    <input type="text" id="txt_Dlm" />
    
    <input type="text" id="txt_Mm" />
    
    
    webservice部分代码
     [WebMethod]
    
            public string add_User(string str_Xm, string str_Dlm, string str_Mm)
    
            {
    
                using (SqlConnection conn = new SqlConnection(strConn))
    
                {
    
                    conn.Open();
    
                    using (SqlCommand cmd = new SqlCommand("insert into [user] (xm,dlm,mm) values (@xm,@dlm,@mm)", conn))
    
                    {
    
                     cmd.Parameters.AddWithValue("@xm",str_Xm);//姓名
    
                        cmd.Parameters.AddWithValue("@dlm",str_Dlm);//登录名
    
                        cmd.Parameters.AddWithValue("@mm",str_Mm);//密码
    
                        if (cmd.ExecuteNonQuery() > 0)
    
                        {
    
                            return str_Xm + "\r\n添加成功^_^";
    
                        }
    
                        else
    
                        {
    
                            return str_Xm + "\r\n添加失败!";
    
                        }
    
                    }
    
                }
    
            }
    
    
    2009年4月17日 12:53
  • X.X.Y 的 Global.asax 中的 Application_Start,比较好使!

    jon.valett@gmail.com
    2009年4月17日 15:15
    版主
  • 应该用这个 Global.asax 中的 Application_Start
    2009年4月18日 5:50
  • 严格来讲, Application_Start并不能完全保证服务器启动的时候就执行,Application_Start是在请求 ASP.NET 应用程序中第一个资源(如页)时调用。
    孟宪会
    2009年4月19日 12:42
    版主
  • 那孟老师,有没有什么办法不需要访问也能启动呢? 就像Windows 服务一样
    知识改变命运,奋斗成就人生!
    2009年4月19日 13:06
    版主
  • 那孟老师,有没有什么办法不需要访问也能启动呢? 就像Windows 服务一样
    知识改变命运,奋斗成就人生!
    除了Windows服务,或者计划任务,我认为是无解,孟老师,请给答案!

    jon.valett@gmail.com
    2009年4月19日 14:04
    版主
  • 所以啊,在启动网站的时候,顺便要访问一下网站,才能确保程序执行
    最好做成程序或者脚本批处理
    孟宪会
    2009年4月20日 0:45
    版主
  • 孟老师你好,我是肖小勇,在几年前我刚学编程的时候你您就给了我很多帮助,能有幸认识您吗?我的 MSN是 fanfan1918@hotmail.com
    知识改变命运,奋斗成就人生!
    2009年4月20日 1:18
    版主
  • 孟老师你好,我是肖小勇,在几年前我刚学编程的时候你您就给了我很多帮助,能有幸认识您吗?我的 MSN是 fanfan1918@hotmail.com
    知识改变命运,奋斗成就人生!
    ok


    孟宪会
    2009年4月20日 1:24
    版主