js文件中的一个变量是从数据库中读取的, 变量的数据量很大. 现在想弄一个弄按钮定期生成js文件或者是替换js里的变量!

解决方案 »

  1.   

    1.C#定期执行代码:
    如果你的是asp.net程序,可以在Global.asax中使用线程来实现,参考代码如下:    <%@ Application Language="C#" %>
    <%@ Import Namespace="System.IO" %>
    <%@ Import Namespace="System.Threading" %>
    <script runat="server">
    string LogPath;
    Thread thread;
    void WriteLog()
    {
    while (true)
    {
    StreamWriter sw = new StreamWriter(LogPath, true, Encoding.UTF8);
    sw.WriteLine(thread.Name + ":" + DateTime.Now.ToString());
    sw.Close();
    Thread.CurrentThread.Join(1000 * 60);//阻止1分钟
    }
    }
    void Application_Start(object sender, EventArgs e)
    {
    LogPath = HttpContext.Current.Server.MapPath("log.txt");
    //在应用程序启动时运行的代码
    thread = new Thread(new ThreadStart(WriteLog));
    thread.Name = "写登录日志线程";
    thread.Start();
    }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> 
    如果是Winform,可以写在服务里面2.更新js文件,
    可以使用C#写入文件的方法