【发布时间】:2013-12-16 18:21:10
【问题描述】:
假设我想创建一个应用程序,它可以在一个套接字上接收来自 Socket(不是页面请求)客户端的连接,同时在另一个套接字上提供 Web 表单,例如,告诉用户有多少客户端使用其他(Socket)接口。这与我正在尝试做的只是大致相似,所以如果它看起来很荒谬,请不要担心!
那么,是否可以让 ASP.NET Web 窗体应用程序中的服务器运行另一个线程来处理其他事情,而 Web 服务器为页面提供服务?有推荐的方法吗,还是需要一点技巧?
编辑: 别担心,我切换到 MVC 4,现在使用 App_Start 方法启动线程。由于线程是否中止无关紧要,只要它重新启动,这是一个合适的修复。
不过还是感谢大家的帮助, 大神
【问题讨论】:
-
您是否有权访问服务器或者这是共享服务提供商?对于这些类型的事情,您始终可以使用 Windows 服务或计划任务。这是首选方式; ASP.NET 对于后台任务并不总是可靠的,并且容易受到会话超时等的影响。
-
是的,我正在自己开发它(它只是很小,真的供个人使用)。你是什么意思Windows服务?随之而来的问题是服务器需要能够将数据发送到 Socket 客户端,这些数据是由为页面提供服务的客户端输入的。
-
您使用的是哪个版本的 .NET?更高版本可以自托管 ASP.NET。由于您还可以自托管 WCF(或您自己的套接字服务器代码),这可能是一个解决方案。
标签: c# asp.net multithreading sockets web