.net 使用REST公开SQL Server数据库

.net 使用REST公开SQL Server数据库,.net,wcf,web-services,.net,Wcf,Web Services,我刚刚在web上做了一些研究,关于如何使用REST轻松公开SQL Server数据库,它可以归结为两种不同的东西,WCF和WCF数据服务。我实际上想让我的数据库在REST中公开。你们认为最简单、最快、最有效的方法是什么 我知道使用WCF数据服务可以使用OData协议(即atom)公开数据。实际上,我想在iPhone上使用这些数据。然后我需要在我的iPhone上添加库。这个库的CTP版本似乎只处理只读,而我还想写入数据库 在不知道您想要做什么的情况下,我会说最简单、最有效的方法是使用WCF数据服务

我刚刚在web上做了一些研究,关于如何使用REST轻松公开SQL Server数据库,它可以归结为两种不同的东西,WCF和WCF数据服务。我实际上想让我的数据库在REST中公开。你们认为最简单、最快、最有效的方法是什么


我知道使用WCF数据服务可以使用OData协议(即atom)公开数据。实际上,我想在iPhone上使用这些数据。然后我需要在我的iPhone上添加库。这个库的CTP版本似乎只处理只读,而我还想写入数据库

在不知道您想要做什么的情况下,我会说最简单、最有效的方法是使用WCF数据服务

使用WCF数据服务的OData提要不必包含库。服务只是根据您在
Accepts
标题中设置的内容返回XML或JSON:

对于XML(默认格式):

对于JSON:

Accepts: application/json
您与WCF数据服务的交互都是通过HTTP进行的。您正在查看的客户端库只是帮助您进行这些调用,但是如果您可以使用Objective-C针对HTTP编程,那么您就不需要它了

另外,WCF数据服务和OData支持使用HTTP动词GET、POST、PUT和DELETE(以及MERGE,我相信这是该协议的新功能)的所有CRUD操作。如果在iPhone应用程序中,您可以使用POST、PUT和DELETE动词/方法创建HTTP请求,那么您的服务将支持该操作

所以我会选择WCF数据服务。如果您处理的是原始输出,请注意它可能有点冗长。如果你能在你的iPhone应用程序中处理JSON,我会用这种方法来减少有效负载的大小

我应该说,我不是一个iPhone开发者,所以我可能遗漏了一些东西。希望这有帮助,让我知道如果有其他问题,我会相应地更新我的答案


谢谢。

我不熟悉iPhone w/Objective-C的编程,但您可以使用请求对象标题进行设置。仅供参考,合并已从OData v4中删除<代码>合并用于在修补程序存在之前执行修补程序。现在我们有了补丁,不再需要合并。请参阅
Accepts: application/json