我将从事一个涉及许多要素的项目:
- ASP.NET MVC 网站
- C# 控制台应用程序
- iPhone应用程序
为了让所有这些单独的应用程序与数据库进行通信,我立即想到的是使用 WCF 服务。
但是,我现在需要向站点添加一个 API,以允许第三方从他们自己的应用程序中选择、插入和更新记录。
在我看来,我只会在 WCF 服务上创建一个单独的 RESTful 服务端点,该端点将使用身份验证锁定,并且只允许访问某些方法。
然而,我今天一直在阅读有关 MVC 4 中的 Web API 功能的内容,这是否意味着 RESTful API 的最新功能?
我应该继续使用 Web API 吗?或者因为我的其他应用程序需要 Web 服务,我应该坚持使用 WCF 服务吗?
如果你打算进行 RESTful 开发,那么你肯定会想要使用 ASP.Net Web Api(最初称为 WCF Web Api,创建的目的是“让 REST 成为 .NET 中的一等公民”.
另一件需要考虑的事情是 WCF REST 入门套件是不再支持 http://aspnet.codeplex.com/wikipage?title=WCF%20REST.
请注意,使用 Web Api 并不意味着您必须使用 ASP.Net MVC 或 IIS,即使它们可以自托管 http://code.msdn.microsoft.com/ASPNET-Web-API-Self-Host-30abca12.
对于处理本质上非 CRUD 的操作,我建议使用 Google 搜索“REST non-CRUD”。我找到了这篇博文用于非 CRUD 操作的 RESTful URL http://abstractfinal.blogspot.com/2007/04/restful-urls-for-non-crud-operations.html(尤其是有趣的评论)。如果您决定需要进行 RPC 调用,那么这些可能必须使用 WCF 来完成。也就是说,由于 WCF REST 即将被终止,我不确定最好的解决方案是什么。两者兼而有之可能是最好的答案,但同时也不一定是一个好的答案。
另一种选择是 WCF OData 服务,但我不确定 iPhone 是否支持它。
最后一点要说明(将来可以删除,因为这是时间敏感的)
Microsoft 已随 Beta 版提供了 Go Live 许可证,这意味着它受到 Microsoft 的支持,升级到文件 RTM 应该不会有任何问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)