2013-12-16 36 views
0

比方说,我想制作能在一个插座接收插座(未页面请求)客户端连接的应用程序,并同时担任另一插座Web表单,告诉用户,例如,有多少客户端使用另一个(Socket)接口进行连接。这只与我想要做的大致相似,所以不要担心,如果它似乎无意义!后台进程窗体

那么,是不是可以有一个ASP.NET Web窗体应用程序的服务器上运行的另一个线程处理其他事情,而网络服务器提供的网页?有没有推荐的方法来做到这一点,还是需要一点点黑客?

编辑: 别担心,我切换到MVC 4,现在正在使用启动线程的App_Start方法。因为无论线程是否中止,只要它重新启动,这都是一个合适的修复。

感谢所有帮助反正虽然, hnefatl

+0

你有访问服务器或这是一个共享服务提供商?你总是可以使用Windows服务或计划任务来处理这些类型的事情。这是首选方式; ASP.NET并不总是可靠的后台任务,并且很容易受到会话超时等 –

+0

呀,我正在开发它自己(这只是非常小的,供个人使用真的)。你是什​​么意思Windows服务?随之而来的问题是,服务器需要能够将数据发送到该Socket客户端是谁放送网页客户端输入。 – hnefatl

+0

您使用的是哪个版本的.NET?更高版本可以自主托管ASP.NET。由于您也可以自主托管WCF(或您自己的套接字服务器代码),因此这可能是一个解决方案。 –

回答

0

你可以尝试使用异步功能在.NET 4.5,提到here。基本上,定义了与 “异步” 关键字的方法,如:

public async Task DoThis(); 

注册异步任务:

RegisterAsyncTask(new PageAsyncTask(DoThis)); 

马克网页标题为异步= “真”

<%@ Page Title="Async" Language="C#" CodeBehind="Page.aspx.cs" 
     Inherits="Whatever" Async="true" %> 
+0

谢谢,我发现我自己的“解决方案”,检查我的编辑。 – hnefatl