我正在做一个工控行业应用的B/S系统,我想服务器程序自动在后台定时采集一些数据放到内存缓冲区,用户用浏览器看到的只是内存中的数据。这样就避免了开一个用户就采一次数据导致重复频繁采集的问题。请问我的设想可以实现吗?用什么方法实现呢?请各位指点

解决方案 »

  1.   

    写一个Windows服务,服务内维持一个cache,就可以完成你的要求
    你的web程序,访问数据,就直接通过这个windows服务访问
      

  2.   

    asp.net可以直接用cache你也可以 保存到 Application 对象里面
      

  3.   

    asp.net可以直接用cache你也可以 保存到 Application 对象里面不过还是建议你放到Cache里面,就是缓存,还可以设置过期策略.
      

  4.   

    数据不大的情况放在cache里面数据量太大放cache不现实,还是得放数据库了
      

  5.   

    写一个静态类, 在 Global.asax.cs 文件中定义一个  timer, 并在  Application_Start() 方法中 启动需要的动作.
      

  6.   

    谢谢各位的帮助。
    我刚刚接触web程序,大家说得话我都要去查查资料,拜托各位高手用“白话”和俺对话。不胜感谢……
    Application_Start()是怎样触发的?用户首次打开页面触发?A用户首次打开页面触发了此事件,那B用户在其他的浏览器再打开页面还触发吗?
      

  7.   

    void Application_Start(object sender, EventArgs e) 
        {
            // 在应用程序启动时运行的代码    }
      

  8.   

    理想的设计是在WEB SERVER与工控系统间设一个中间层,
    叫应用服务器也好,实时数据库也好,
    WEB向它要数据,它则定期向工控系统要数据。
    若是实时性要求不高,一般的数据库可能也行。
      

  9.   

    服务器程序自动在后台定时采集一些数据,然后可存放在DataSet中,后台更新此Dataset,前台数据绑定此DataSet即可.
      

  10.   

    GXY2005(晓晨美眉好^_^)
    服务器程序自动在后台定时采集一些数据,然后....我的问题就是不知道怎样自动采集数据阿??