Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/multithreading/4.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 MVC 2的多线程设计问题_Asp.net_Multithreading_Asp.net Mvc 2_Asynccontroller - Fatal编程技术网

ASP.NET MVC 2的多线程设计问题

ASP.NET MVC 2的多线程设计问题,asp.net,multithreading,asp.net-mvc-2,asynccontroller,Asp.net,Multithreading,Asp.net Mvc 2,Asynccontroller,我正在开发一个与旅游相关的网站,以下是我的高级架构: ASP.NET MVC 2 (Presentation Layer) Services Layer Repository Layer communicating with external J2EE Services 对于一个特定的用户搜索场景,我需要调用J2EE服务4到5次(独立操作),将所有响应合并为一个响应,并将其交给控制器,以便能够将其呈现给用户 处理这种情况的最佳方法是什么?我应该使用MVC2的AsyncController功

我正在开发一个与旅游相关的网站,以下是我的高级架构:

ASP.NET MVC 2 (Presentation Layer) 
Services Layer 
Repository Layer communicating with external J2EE Services
对于一个特定的用户搜索场景,我需要调用J2EE服务4到5次(独立操作),将所有响应合并为一个响应,并将其交给控制器,以便能够将其呈现给用户

处理这种情况的最佳方法是什么?我应该使用MVC2的AsyncController功能还是在我的服务层中实现一些多线程逻辑?

使用Async controller


谢谢Xaqron。目前我的业务服务层只支持同步操作。将其转换为支持异步操作需要什么?我对J2EE服务没有任何控制权,我希望该层中不需要任何更改。您不需要对BLL做任何事情。您的MVC代码应该是异步的,但我在线阅读的大多数文档都说,公开方法的BLL需要实现基于事件的异步模式。请。请参阅以下链接:设计没有错与错,更多的是最佳实践。根据具体情况,你可能会做一些对其他情况不利的事情。您提到,您没有访问BLL的权限,我说没关系,在顶层实现异步。Xaqron,目前我在控制器中调用我的BLL方法如下::
PricingResponse response=\u pricingService.GetComponentPricingPricing(请求)在我将控制器更改为异步后,是否可以在GetRatesAsync()操作中继续以相同的方式调用它?然后是AsyncManager.Parameters[“response”]=response;这样行吗?