使用新的WCF Web API而不是ASP.NET MVC 3来公开轻量级JSON Web服务层有什么优势?我在很多方面都喜欢Web API,但缺点是它不能在单声道上工作,而MVC 3则可以.这两种方法有哪些主要区别?
我正在开发一个ASP.NET MVC 3应用程序.我需要这个应用程序来使用我还需要实现的API.API应该都可以从ASP.NET MVC控制器操作和Ajax中获得.现在使用ASP.NET MVC制作API非常容易,但是可以从其他ASP.NET MVC网站操作中使用它吗?我想WCF很容易使用,因为它只是一个服务参考.
API的其他用户可以是Windows Phone和iPhone.
更新:
许多人只将API视为您使用数据的地方,但是您想要执行命令或执行操作的部分,例如添加客户或更改foo?
我正在尝试询问我的OData服务:
"给我所有没有类别的产品"
与产品和类别有m2m关系.
我试过了:
from p in Products
where p.Categories == null
select p
Run Code Online (Sandbox Code Playgroud)
和
from p in Products
where !p.Categories.Any()
select p
Run Code Online (Sandbox Code Playgroud)
和
from p in Products
where p.Categories.Count == 0
select p
Run Code Online (Sandbox Code Playgroud)
但所有这些都给了我不支持的例外.
我不是在寻找替代品或选择.请不要回答其他选项.
我正在寻找与WCF数据服务兼容的受支持的linq扩展方法的完整列表.
通过反复试验我发现First(Func)和Single(Func)不受支持,还有其他吗?
这让我对支持的内容非常了解,我只是不知道通过IQueryProvider实际翻译了什么.