我正在构建一个WCF服务来处理两家公司的所有QuickBooks SDK功能。由于QuickBooks SDK需要打开/关闭实际的QuickBooks应用程序来处理请求,因此一次只能处理一个请求,或者QuickBooks处于非常糟糕的状态。我正在寻找允许最终用户发出QuickBooks数据请求的最佳方法,并让我的WCF应用程序保留该请求,直到上一个请求完成。
如果当前没有处理任何内容,则请求将立即通过。
有谁知道处理这类功能的最佳方法?任何第三方/内置.NET库?
谢谢!
答案 0 :(得分:3)
使用WCF限制。它可配置,无需更改代码即可解决您的问题。
请参阅我对WCF ConcurrencyMode Single and InstanceContextMode PerCall的回答。
答案 1 :(得分:0)
执行此操作的一种方法是在用户和Quickbooks应用程序之间放置队列:
这需要一些工作,但用户总是能够提交请求,并且一次只能处理一个。
如果您使用并发模式Single,ErnieL提供的解决方案也会起作用,但在重负载情况下,用户将获得超时。