asp.net-mvc – 重载asp.net MVC Web API应用程序和异步消息总线
我打算构建一个相当大的应用程序(在并发用户/请求数量方面很大,而不是在功能方面).
基本上,我将在某处提供服务,即等待命令执行它们,并在稍后确认完成.在发出确认消息之前,此服务将使用服务总线进行通信,最终执行. 这项服务的消费者可以是任何类型的应用程序(WPF,SL,…)但我的主要(和第一)客户端将是asp.net MVC应用程序WebApi(.Net 4.5)或仅MVC(.Net 4.0)使用ajax控制器操作. Web应用程序将依赖于Ajax调用来保持用户友好的响应应用程序. 我对这种全面的异步架构很陌生,我有一些问题可以避免将来的头痛: >我的网络API呼叫可能需要一些时间.我应该如何正确设计api以支持长时间运行(某种异步?).我已经阅读了关于新的异步关键字,但为了知识,我想了解背后的内容. 在实施细节/框架方面,我想我将使用: > Rabbitmq作为消息系统 解决方法
我不是100%肯定你要去哪里.您可以通过投入RabbitMQ和MassTransit来询问有关Async的问题,还可以提及消息排队.默认情况下,消息队列是异步的. 您还提到了执行命令.如果您指的是CQRS,则需要分离命令和查询.但是当我提到“长时间运行的流程”时,我所指的并不是100%. >查询数据时,数据应该已经存在.优选地以手头问题所需的方式. 使用此模型时,长时间运行过程可能需要长达10分钟才能完成.我不会详细说明实际上单个线程需要花费10分钟才能完成,包括锁定数据库,但我希望你明白这一点.将消息投入队列后,您的API几乎可以立即免费使用.那里不需要Async.
我不懂. .NET Framework和您的排队平台将为您解决此问题.你为什么要等待确认? 在MassTransit Bus.Instance.Publish(new YourMessage{Text = "Hi"}); 在NServiceBus中 Bus.Publish(new YourMessage{Text = "Hi"});
我应该这么认为!由于消息传递的异步性质,用户必须“等待”更新.如果您可以通过SignalR向用户“推送”更新来提供此数据,那就更好了.
也许,我仍然不确定你要去哪里. 资源: http://www.udidahan.com/2013/04/28/queries-patterns-and-search-food-for-thought/ http://bloggingabout.net/blogs/dennis/archive/2012/04/25/what-is-messaging.aspx (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net – 站点之间共享的IIS 7.0应用程序池 –
- WPAD查询从ASP.NET调用webservice
- asp.net-mvc – 在什么级别可以使用SPDY?
- asp.net-mvc – 可扩展的SignalR Azure – 在哪里
- asp.net-mvc – ASP.NET MVC如何链接视图和控制器
- asp.net-mvc – 我是否真的使用ninject和NHibern
- asp.net-mvc – 从页面到局部视图的asp.net mvc参
- asp.net-mvc – 是否可以在基于路由的MVC4中使用
- asp.net – 如何为.Net网站,Windows服务等创建安
- 将自定义ValueProviderFactories添加到ASP.NET M