ASP.NET工作中的线程能否在响应后继续。结束?
我想建立一个到设备的tcp连接,并不断地从设备检索数据。我想从一个简单的请求开始,让它在后台工作,即使页面响应完成。这在asp.net中是可能的吗 ASP.NET工作中的线程能否在响应后继续。结束 是的,如果你不在乎或不需要结果,你可以 例如,在下面的代码中,调用AddLogAsync并插入日志,但不关心插入是否成功 我想与设备建立tcp连接并保持连续 从设备中检索数据。我想从一个简单的请求开始 让它继续工作。这在asp.net中是可能的吗ASP.NET工作中的线程能否在响应后继续。结束?,asp.net,multithreading,iis,httpapplication,Asp.net,Multithreading,Iis,Httpapplication,我想建立一个到设备的tcp连接,并不断地从设备检索数据。我想从一个简单的请求开始,让它在后台工作,即使页面响应完成。这在asp.net中是可能的吗 ASP.NET工作中的线程能否在响应后继续。结束 是的,如果你不在乎或不需要结果,你可以 例如,在下面的代码中,调用AddLogAsync并插入日志,但不关心插入是否成功 我想与设备建立tcp连接并保持连续 从设备中检索数据。我想从一个简单的请求开始 让它继续工作。这在asp.net中是可能的吗 我不太明白上面的问题。在Response.End之后,
我不太明白上面的问题。在Response.End之后,您不能返回任何内容,尽管您可以在不同的线程中继续处理某些内容 您需要生成一个新线程,并在该线程上进行设备通信。您无法使用请求处理线程,因为主机(IIS等)将在完成后将其返回到请求线程池。Win,是否可以使用于连接到设备并从设备检索数据的对象保持活动状态,即使是页面响应。结束?当设备触发事件(考勤控制设备)时,您如何确定该对象是否处于活动状态并执行其工作?我的答案是您无法确定该进程是否处于活动状态。如果您想确定,您需要安排一项任务,例如。基本上,在Response.End之后,设备和服务器之间的连接断开。换句话说,服务器不能再和设备通信了。若您希望服务器与设备对话,则需要使用不同的技术,称为。Hangfire和Signal超出了原始问题的范围。
public Task AddLogAsync(Log log)
{
return Task.Run(() => AddLog(log));
}
private void AddLog(TraceLog traceLog)
{
// Do something here.
}