Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET工作中的线程能否在响应后继续。结束?_Asp.net_Multithreading_Iis_Httpapplication - Fatal编程技术网

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之后,

我想建立一个到设备的tcp连接,并不断地从设备检索数据。我想从一个简单的请求开始,让它在后台工作,即使页面响应完成。这在asp.net中是可能的吗

ASP.NET工作中的线程能否在响应后继续。结束

是的,如果你不在乎或不需要结果,你可以

例如,在下面的代码中,调用AddLogAsync并插入日志,但不关心插入是否成功

我想与设备建立tcp连接并保持连续 从设备中检索数据。我想从一个简单的请求开始 让它继续工作。这在asp.net中是可能的吗


我不太明白上面的问题。在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.
}