2016-06-13 11 views
1

最初,当我构建应用程序时,只需要使用WCF公开端点。现在,需要使用REST公开另一个端点,因此我使用了.Net Web Api来这样做。 WCF端点托管在Windows服务中,因此我在同一服务中托管了Web Api端点。这样做有没有问题?任何性能考虑?经过一番彻底的搜索后,我找不到有关该主题的任何财务信息。在单个Windows服务中托管Web Api和WCF服务时是否存在任何性能和/或其他问题?

回答

1

这样做有什么问题吗?

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

我确实考虑过这一点,但我读过很多有关使用WCF 公开RESTful端点的不良评论。此外,它出现的Web API是 首选技术这里提到: WCF vs ASP.NET Web API

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

假设您希望公开与您当前在服务合同中定义的操作相同的操作,因为您已经拥有soap端点,所以您可以使用WCF将约定的服务暴露为HTTP约10 minutes work

另外,如果没有大量的asp.net/owin,你会得到一个更简单的解决方案。

+0

我确实考虑过这一点,但我读过很多关于使用WCF公开REST风格的端点的糟糕评论。此外,它似乎Web Api是首选的技术,如在这里提到的:http://stackoverflow.com/questions/9348639/wcf-vs-asp-net-web-api – brokenbeta

+0

@brokenbeta我已经更新了我的答案... –

+0

谢谢对于伟大的信息汤姆。我也会看看Nancyfx。 – brokenbeta

相关问题