我有一个Windows应用程序,其业务逻辑层实现为WCF服务。此服务目前托管在IIS上。我想知道,如果有一种方法可以选择在服务不可用/不可行的情况下以独立模式运行应用程序。
答案 0 :(得分:1)
在正确的设计中,业务逻辑实际上不应该直接实现为WCF服务 - 它应该被抽象出一个单独的程序集,原因就像你的一样,而WCF包装器应该简单地引用它。我猜你在这个non-orthogonal设计中没有发言权。
如果您有权访问WCF程序集,则可以将它们与独立应用程序一起分发并引用它们,然后调用这些WCF操作而不将其作为服务激活。它会相当丑陋,但它可以工作,假设没有任何业务逻辑依赖于任何WCF激活的功能。
编辑重新评论:您可以拥有多个服务主机和端点,并在WCF中保留相同的合同(“接口”)。也许您想添加一些公开self hosting端点的named pipe,并在您的应用程序中以这种方式访问操作。