基于WCF的独立模式的WinForms应用程序

时间:2009-11-14 18:59:44

标签: winforms wcf architecture soa n-tier-architecture

我有一个Windows应用程序,其业务逻辑层实现为WCF服务。此服务目前托管在IIS上。我想知道,如果有一种方法可以选择在服务不可用/不可行的情况下以独立模式运行应用程序。

1 个答案:

答案 0 :(得分:1)

在正确的设计中,业务逻辑实际上不应该直接实现为WCF服务 - 它应该被抽象出一个单独的程序集,原因就像你的一样,而WCF包装器应该简单地引用它。我猜你在这个non-orthogonal设计中没有发言权。

如果您有权访问WCF程序集,则可以将它们与独立应用程序一起分发并引用它们,然后调用这些WCF操作而不将其作为服务激活。它会相当丑陋,但它可以工作,假设没有任何业务逻辑依赖于任何WCF激活的功能。

编辑重新评论:您可以拥有多个服务主机和端点,并在WCF中保留相同的合同(“接口”)。也许您想添加一些公开self hosting端点的named pipe,并在您的应用程序中以这种方式访问​​操作。