首页 文章

WCF服务或Web API

提问于
浏览
25

我将参与一个涉及许多元素的项目:

  • ASP.NET MVC网站

  • C#控制台应用程序

  • iPhone App

为了让所有这些单独的应用程序与数据库通信,我的直接想法是使用WCF服务 .

但是,我现在需要向站点添加API以允许第三方从他们自己的应用程序中选择,插入和更新记录 .

在我看来,我只是在我的WCF服务上创建一个单独的RESTful服务 endpoints ,它将使用身份验证锁定,并且只能访问某些方法 .

但是,我今天一直在阅读MVC 4中的Web API功能,这是RESTful API的最新功能吗?

我是否应该继续使用Web API?或者因为我的其他应用程序需要Web服务,我应该坚持使用WCF服务吗?

6 回答

  • 1

    这里没有正确的答案 . 你当然可以很好地使用WCF RESTful服务 . 或者您可以使用ASP.NET MVC . 两者都是完全有效的,都有优点和缺点 .

    最后,我建议你选择对你来说最难维护的东西 .

    我想要注意的是MVC 4处于测试阶段,所以请注意bug,并且在测试结束之前不要上线 .

  • 6

    由于您要创建一个ASP.NET MVC网站,因此使用ASP.NET Web API也会非常舒适,因为编程模型非常相似,并且这些解决方案或多或少地相互集成 .

  • 0

    我不得不看看你将要使用的所有平台上最好的支持,我怀疑iPhone应用程序可能会最终推动你的选择 .

    如果它是纯粹的.net,我仍然倾向于使用SOAP服务 - 这些日子并不算酷,但它通常会在大多数平台上做你需要的,而不必滚动自定义解决方案 .

    EDIT

    ASP.NET Web API意味着.NET现在为开发一个安静的API提供了一个很好的框架,我修改了我的答案,说我现在倾向于这个 - 进步很棒!

  • 1

    我也有同样的问题 .

    在MSDN站点中,http://msdn.microsoft.com/en-us/library/jj823172(v=vs.110).aspx

    找到了一个视频教程,他们说,对于iPhone或JSON或xml的Web应用程序客户端等机器消耗,建议使用Web API . 它围绕视频的最后部分 .

    而对于更复杂的机器到机器通信,WCF是优选的 .

    http://channel9.msdn.com/Series/Building-Web-Apps-with-ASP-NET-Jump-Start/Building-Web-Apps-with-ASPNET-Jump-Start-04-Building-a-Service-Layer-with-ASPNET-Web-API

    这是他们演示的截图 .

    enter image description here

  • 16

    如果您打算进行RESTful开发,那么您肯定希望使用ASP.Net Web Api(最初称为WCF Web Api并以"Making REST a first class citizen in .NET"为目标创建) .

    另一件需要考虑的事情是WCF REST Starter工具包是no longer supported .

    请注意,使用Web Api并不意味着您必须使用ASP.Net MVC或IIS,因为它可以是self hosted .

    对于处理非CRUD的操作,我建议使用Googling "REST non-CRUD" . 我发现这篇博文RESTful URLs for non-CRUD operations(特别是有趣的评论) . 如果您决定需要进行RPC调用,那么可能必须使用WCF完成 . 这就是说,因为WCF REST正在被淘汰,所以我不一定是个好消息 .

    另一个替代方案是WCF OData服务,但我不确定它是否得到iPhone的任何支持 .

    One last point to make (that can be deleted in the future as this is time sensitive)

    Microsoft已提供带有测试版的Go Live许可证,这意味着它受Microsoft支持,您不应该在升级到RTM文件时遇到任何问题 .

  • 4

    Service Stack也看起来像一个选项 .

    演示,概述,示例是available here .

相关问题