我们有一个大型,复杂的Silverlight应用程序,可通过WCF异步调用与我们的数据库进行通讯。这些功能包括一个临时报告工具,该工具使用户可以使用各种参数设置来设计和运行报告。
呈现报告需要很长时间(10-120秒),并且占用服务器上的内存和CPU时间,因此它似乎是微服务的最佳首选。我们将让我们的应用程序/ IIS服务器通过消息队列将报告-渲染请求传递给渲染服务器。完成后,渲染服务器将使用队列中准备接收的消息。报告二进制数组的大小可以为几兆字节。
对我而言,弯腰是如何从这种断开的消息传递范式切换回WCF的请求-响应范式?
我在WCF RenderReport()方法中使用async / await很好。但这只是将问题推到了代码的更深层。 不知何故我需要做从消息传递回到请求响应的“相移”。
可能的答案?
我还缺少其他选择吗?