【发布时间】:2016-04-01 20:30:25
【问题描述】:
我想与设备建立 tcp 连接并不断从设备中检索数据。我想从一个简单的请求开始,即使页面响应完成,也让它保持工作背景。这在 asp.net 中可行吗?
【问题讨论】:
-
您需要创建一个新线程并在该线程上进行设备通信。您不能使用请求处理线程,因为主机(IIS 等)将在完成后将其返回到请求线程池。
标签: asp.net multithreading iis httpapplication
我想与设备建立 tcp 连接并不断从设备中检索数据。我想从一个简单的请求开始,即使页面响应完成,也让它保持工作背景。这在 asp.net 中可行吗?
【问题讨论】:
标签: asp.net multithreading iis httpapplication
ASP.NET 中的线程能否在 Response.End 之后继续工作?
是的,如果您不关心或不需要结果,您可以。
比如下面的代码,你调用了AddLogAsync,插入了一条日志,但是你并不关心插入是否成功。
public Task AddLogAsync(Log log)
{
return Task.Run(() => AddLog(log));
}
private void AddLog(TraceLog traceLog)
{
// Do something here.
}
我想建立一个到设备的 tcp 连接并持续保持 从设备检索数据。我想从一个简单的请求开始 并保持工作。这在 asp.net 中可行吗?
我不是很理解上面的问题。在 Response.End 之后,您无法返回任何内容,尽管您可以继续在不同线程中处理某些内容。