BS模式下,如何让后台始终有一个线程在运行

nuaazdh 2011-11-19 10:05:51
要做一个项目,是故障诊断类的,要求是BS模式。后台有多个线程(因为数据量大)从数据库中获取数据,并运行诊断算法(通过自定义类实现),用户通过浏览器访问,可以得到实时的诊断故障信息,和当前的工作情况。遇到的困难:
1、如何让后台的程序自动运行,即网站发布后就自动运行,无论用户是否存在页面请求;
2、多个asp页面之间有数据的共享和消息的传递,并且和后台进程间存在数据交换;
想请教一下,整个系统的构架是怎样的,才能最好的实现上述要求,并能很方便地解决上述问题。小弟对ASP.NET知之甚少,还想问一下,MVC和WebForm哪个实现起来更方便(就本例而言)。多谢
...全文
252 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
yusongkun 2011-11-21
  • 打赏
  • 举报
回复
楼主请使用谷歌搜索Quartz,不过看了楼主的要求,这个也没办法实现。

所有在iis下的程序,都会依赖于用户访问,并且具有Session的有效期。所有session断开。不论什么线程,都会自动断开。

建议楼主还是使用控制台程序做这类型的工作。

charles_y 2011-11-21
  • 打赏
  • 举报
回复
这个处理不太合理,因为这样做的话你那些线程很难控制。重新做一份后台服务或者控制台程序来控制这些线程比较合理。

MVC和webform,自己喜欢哪个就用哪个。
webform控件丰富,做起来相对要快一点。
mvc写页面更自由一些,新的razor引擎很不错。
zincy 2011-11-21
  • 打赏
  • 举报
回复
楼主你不懂,你就想做这么复杂的BS系统?! 还多线程,线程附加到IIS后你能保证IIS运行不出问题?
自己写单独的后台处理程序,web使用Remote调用后台程序。
  • 打赏
  • 举报
回复
做个启动就初始化的单例
线程就在这单例里
public class Demo
{
public static Demo GetInstance = new Demo();
private Demo(){}
}
whokilledme 2011-11-21
  • 打赏
  • 举报
回复
多个线程的话 应该注意锁定内存 不然会窜数据的
lambober 2011-11-21
  • 打赏
  • 举报
回复
在服务启动的时候,启动一个在服务器上跑的程序,没事检测下。
moxcm 2011-11-21
  • 打赏
  • 举报
回复
这个在b/s模式无法实现
nuaazdh 2011-11-21
  • 打赏
  • 举报
回复
想问一下,在asp.net项目下可以生成一个可执行程序吗(在服务器端),而且和winform一样方便?
nuaazdh 2011-11-21
  • 打赏
  • 举报
回复
我也知道用BS做这个困难,但是那个企业偏要做成BS模式的啊,没有办法。
  • 打赏
  • 举报
回复
服务器随时可能重启 --> asp.net服务器进程随时可能重启
  • 打赏
  • 举报
回复
服务器随时可能重启,也可能随时停掉。

asp.net不适合开发这类程序,它只能做最简单的程序。
nuaazdh 2011-11-20
  • 打赏
  • 举报
回复
请各位大侠给点主意啊
nuaazdh 2011-11-20
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jelly1989 的回复:]

让服务器始终有一个线程?
[/Quote]
不是,多个线程。但是做同一类工作,并行做
  • 打赏
  • 举报
回复
让服务器始终有一个线程?
nuaazdh 2011-11-19
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 nevermore_0923 的回复:]

你可以换一个角度,比如心跳包,长连接什么的 都可以。
[/Quote]
可以更详细一点吗,心跳包是通过Socket的吧,但是这里交换数据量很大的啊
弦弦 2011-11-19
  • 打赏
  • 举报
回复
mvc和web,还没听说两者功能有什么区别。
弦弦 2011-11-19
  • 打赏
  • 举报
回复
你可以换一个角度,比如心跳包,长连接什么的 都可以。

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧