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;这样行吗?