我的任务是创建一组 Web 服务。我们是一家微软商店,所以我将在这个项目中使用 WCF。有一个有趣的设计考虑,我还没有找到解决方案。我将尝试用一个例子来解释它:
我的 WCF 服务公开了一个名为 Foo() 的方法。
10 个不同的用户几乎同时调用 Foo()。
我有 5 个特殊资源,分别称为 R1、R2、R3、R4 和 R5。我们真的不需要知道资源是什么,除了特定资源一次只能由一个调用者使用这一事实。
Foo() 负责使用这些特殊资源之一执行操作。因此,以循环方式, Foo() 需要找到未使用的资源。如果没有可用的资源,它必须等待一个被释放。
起初,这似乎是一件容易的事。我也许可以创建一个单例来跟踪当前正在使用的资源。最大的问题是我需要这个解决方案在网络农场场景中是可行的。
我确信这个问题有一个很好的解决方案,但我以前从未遇到过这种情况。我需要某种可以在多个 WCF 主机之间共享的资源跟踪器/提供程序。
来自建筑师的任何想法将不胜感激!