要做一个项目,是故障诊断类的,要求是BS模式。后台有多个线程(因为数据量大)从数据库中获取数据,并运行诊断算法(通过自定义类实现),用户通过浏览器访问,可以得到实时的诊断故障信息,和当前的工作情况。遇到的困难:
1、如何让后台的程序自动运行,即网站发布后就自动运行,无论用户是否存在页面请求;
2、多个asp页面之间有数据的共享和消息的传递,并且和后台进程间存在数据交换;
想请教一下,整个系统的构架是怎样的,才能最好的实现上述要求,并能很方便地解决上述问题。小弟对ASP.NET知之甚少,还想问一下,MVC和WebForm哪个实现起来更方便(就本例而言)。多谢

解决方案 »

  1.   

    mvc和web,还没听说两者功能有什么区别。
      

  2.   

    可以更详细一点吗,心跳包是通过Socket的吧,但是这里交换数据量很大的啊
      

  3.   

    服务器随时可能重启,也可能随时停掉。asp.net不适合开发这类程序,它只能做最简单的程序。
      

  4.   

    服务器随时可能重启  -->  asp.net服务器进程随时可能重启
      

  5.   

    做个启动就初始化的单例
    线程就在这单例里
    public class Demo
    {
        public static Demo GetInstance = new Demo();
        private Demo(){}
    }
      

  6.   

       楼主你不懂,你就想做这么复杂的BS系统?! 还多线程,线程附加到IIS后你能保证IIS运行不出问题?
    自己写单独的后台处理程序,web使用Remote调用后台程序。
      

  7.   

    这个处理不太合理,因为这样做的话你那些线程很难控制。重新做一份后台服务或者控制台程序来控制这些线程比较合理。MVC和webform,自己喜欢哪个就用哪个。
    webform控件丰富,做起来相对要快一点。
    mvc写页面更自由一些,新的razor引擎很不错。
      

  8.   

    楼主请使用谷歌搜索Quartz,不过看了楼主的要求,这个也没办法实现。所有在iis下的程序,都会依赖于用户访问,并且具有Session的有效期。所有session断开。不论什么线程,都会自动断开。建议楼主还是使用控制台程序做这类型的工作。
      

  9.   

    我也知道用BS做这个困难,但是那个企业偏要做成BS模式的啊,没有办法。
      

  10.   

    想问一下,在asp.net项目下可以生成一个可执行程序吗(在服务器端),而且和winform一样方便?