使用REST公开SQL Server数据库

时间:2010-11-24 04:23:55

标签: .net wcf web-services

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

我知道使用WCF数据服务我可以使用OData协议公开数据,这是一个原子。我想在iPhone上实际使用这些数据。然后,我需要在我的iPhone上添加this库。看来这个库的CTP版本只处理只读,而我也想写入数据库。

1 个答案:

答案 0 :(得分:2)

如果不知道自己想做什么,我会说最简单,最有效的方法就是使用WCF数据服务。

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

对于XML(默认格式):

Accepts: application/atom+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开发人员,所以我可能会在这里遗漏一些东西。希望这有帮助,如果还有其他问题请告诉我,我会相应地更新我的答案。

感谢。