在单个Windows服务中同时托管WebApi和WCF服务时,是否存在任何性能和/或其他问题



最初构建应用程序时,只要求使用WCF公开端点。现在,需要使用REST公开另一个端点,因此我使用了.Net Web Api。WCF端点托管在Windows服务中,因此我将Web Api端点托管在同一服务中。这样做有什么问题吗?有性能方面的考虑吗?经过一番详尽的搜索,我找不到关于这个主题的任何实质性信息。

这样做有问题吗?

最好使用webHttpBinding通过WCF公开其余的API,而不是将WebAPI引入到混合中。我不知道这本身会导致任何问题,但就解决方案的简单性而言,我认为利用WCF的多个端点到一个服务契约映射功能更有意义。

我确实考虑过这一点,但我读到了很多关于使用WCF的差评以公开RESTful端点。此外,Web Api似乎是这里提到的优选技术:WCF与ASP.NET Web API

同意。如果你是从零开始的,那么我会毫不犹豫地推荐WebAPI而不是WCF(实际上,我会建议在一周中的任何一天使用Nancyfx而不是WebAPI)。

您可以使用WCF将服务公开为HTTP,只需大约10分钟的工作,假设您希望公开与当前在服务约定中定义的操作相同的操作,因为您已经拥有soap端点。

此外,您最终将获得一个更简单的解决方案,而不会出现asp.net/owin.的显著膨胀

相关内容

最新更新