我们目前有一个 .NET 4 应用程序,它由在后台运行的 Windows 服务和本地或远程客户端(通常只有 1-3 个)组成。
客户端有一个 WPF GUI,需要一些来自 Windows 服务的数据。因此,我们将 WCF 与 NamedPipe 绑定用于本地客户端,将 NetTcp 绑定用于远程客户端。这可行,但我们经常遇到无法访问的端点(通道故障或未找到等)的问题。我们已经尝试重建故障连接,但它似乎非常脆弱......
现在进入 Web Api:看起来基于 HTTP 的堆栈可能更健壮(没有通道,没有端点,也可以在 Windows 服务中自托管)。通道中断似乎没有问题,因为每个请求都是单独处理的。因此,如果某些事情失败了,您只需重复请求即可。(而且我们有其他应用程序使用 ASP.NET MVC 的经验,所以这对我们来说并不新鲜)。
现在我们正在考虑什么可能是我们最好的选择。是“强化”我们现有的 WCF 服务(一个服务接口,大约 15 个操作)还是将接口移动到 Web Api 并作为 HTTP 请求(使用 JSON 数据)运行它更好?性能不是我们这里的主要问题......
有任何想法吗?哈特穆特