热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

在ASP.NETCore中启用来自同一会话的并发请求

如何解决《在ASP.NETCore中启用来自同一会话的并发请求》经验,是哪儿的问题?

编辑:这显然是在浏览器中测试的问题,而不是代码.默认情况下,Core中的会话将被禁用.

原始问题:

我正在开发一个Web API,它需要同时处理多个请求,即使是来自同一个客户端.它是一个ASP.NET核心MVC(1.1.2)应用程序,目前针对完整框架(4.5.2),主要是为了与其他库兼容.

当我第一次测试我的并发性时,我很惊讶这些请求根本不是并发的.我用Google搜索并发现ASP.NET不会同时处理会话中的请求,而是将它们排队.快速测试显示会话可能是罪魁祸首:

[HttpGet("sleep")]
public string Sleep()
{
   Thread.Sleep(5000);
   return $"Done at {DateTime.Now:u}";
}

当我从同一浏览器中的多个选项卡快速请求时,每个选项卡之间需要5秒钟.当我使用多个浏览器时,情况并非如此,它会在5秒钟内响应多次.

在搜索解决方案时,我一直在寻找在ASP.NET中禁用会话状态的方法,但对Core来说却没有.

就会话而言,我使用的是默认的API项目模板,而我没有采取任何措施来专门启用/设置会话状态.

有没有办法摆脱ASP.NET Core中的会话状态?或者是否有更好的解决方案来启用并发请求?


推荐阅读
author-avatar
李浩
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有