我正在开发一个已经分成多个层(UI、业务和数据层)的 Windows 应用程序。我想将我的业务层和数据层放在单独的机器中,这样用户就需要在他的机器上安装 UI 层。使用 WCF Web 服务并通过它访问我的业务层和数据层是个好主意吗?
最佳答案
其实这取决于...
如果您只想将薄 UI 层移动到用户机器上,然后在每次用户操作时调用您的服务,那么我认为这是一个非常糟糕的主意。因为在这种情况下,用户有一个 Windows 应用程序,它实际上像 Web 应用程序一样响应(当然,如果您考虑通过互联网而不是本地网络进行通信)。因此,如果我是你,我会更好地创建一个 Multi-Tenancy Web 应用程序,它使用你已经实现的所有业务逻辑。这也可以防止您遇到很多版本控制问题,因为您可以完全控制您的 UI 应用程序,这与 Windows 应用程序不同,当您必须处理解决方案的多个版本或至少实现一些错误处理逻辑以使所有用户升级时更新版本以继续工作。
但是,如果您的应用程序主要离线工作,并且只有一些逻辑确实需要对所有用户通用,那么您应该选择 WCF。它为您提供了所有用于在配置级别保护和配置通信 channel 的工具,甚至无需重建您的应用程序。还有很多用于绑定(bind)和行为配置的内置选项。
希望对您有所帮助。
关于C# windows 应用程序 - 想将我的业务和数据层保留在单独的机器中并使用 WCF 访问它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13966875/