检测ASP上的SSE断开连接.净的核心
本文关键字:核心 连接 断开 ASP 上的 SSE 检测 | 更新日期: 2023-09-27 17:54:25
我想检测从ASP上的SSE(服务器发送事件)断开连接。净的核心。旧的Response.IsClientConnected
不能工作。你有解决这个问题的办法吗?
我找到了解决问题的临时方法。临时的,因为在尝试发送请求并且失败时检测到IsCancellationRequested
,而不是在发送请求
if (HttpContext.RequestAborted.IsCancellationRequested == true)
{
break;
}
在。net 2.0核心:
该方法创建一个端点,该端点将在60秒后返回null
。如果在这60秒内请求被取消,该方法将立即返回null
。
[HttpGet]
public async Task<string> Get()
{
Request.HttpContext.RequestAborted.WaitHandle.WaitOne(60000);
return null;
}
此方法在连接请求期间执行多个工作单元,直到工作完成。
[HttpGet]
public async Task<Items[]> Get()
{
Item item = null;
List<Items> items = new List<Items>();
do
{
item = DoRepitiousWork();
Items.Add(item);
}
while (!Request.HttpContext.RequestAborted.IsCancellationRequested && !item.IsLast);
return items.ToArray();
}