Asp .Net MVC-倍数请求

我有一个MVC应用程序,可以提供很多不同的功能 功能。其中一些功能需要较长的响应时间,因为与SAP(消息队列)进行通信或在Oracle数据库中执行复杂的SQL指令。

当用户对此应用程序执行任何操作时,其会话将被“锁定”,直到请求终止。即使它打开一个新的浏览器选项卡,服务器也要等待第一个事务完成才能开始为后面的事务提供服务。由于这些操作需要较长的响应时间(在某些情况下为20分钟),因此在第一个请求终止之前,用户无法使用其他模块功能。

我所有的方法都遵循以下相同的结构:

public class ProdutoController : ControleBase
{
    [HttpPost]
    public JsonResult Pesquisar(ProdutoPesquisa parametros)
    {
        ....
    }
}

我最近进行了一项测试,该测试可以对同一个会话ID执行多个请求,并将以下注释添加到我的所有控制器中:

[SessionState(system.web.SessionState.SessionStateBehavior.ReadOnly)]

更改后,服务器不再能够存储用户的会话,这是我用来存储每个用户的权限(按钮,菜单,功能)的设备。这些权限是通过请求自己的API来执行特定的验证而获得的。在评估成本效益时,我认为每个新请求都重做对此API的调用并不有趣,因为每天的请求数量很多(大约一百万)。

还有其他解决方法吗?可以将方法用作“任务”吗?

joshuasc 回答:Asp .Net MVC-倍数请求

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3159101.html

大家都在问