[英]WCF, Web services or ADO.NET data services: What shall I use?
对于一个项目,我必须在Web服务器上托管的数据库和互联网上的几个客户端之间实现通信。 在阅读了一些内容并观看了一些关于可能(微软)技术的介绍性视频后,我发现我似乎有(至少)三种选择:
1)Windows Communication Foundation(WCF)
2)ASP.NET Web服务
3)ADO.NET数据服务
因为我不熟悉这三种技术中的任何一种,我必须深入学习(希望只有)其中一种技术 - 问题是:哪一种?
或者更确切地说:哪一个用于以下任务?
需要将数据从客户端上载到服务器/数据库,并且还需要下载一些其他数据。 在客户端,这不会由在浏览器中工作的用户以交互方式发生,而是作为客户端上的自动进程定期运行(例如每2小时)。
a)在Web服务器端,将有:
b)客户方不太清楚,必须更灵活。 在这里,我必须区分两个要求:
i)优先级一(根据我可用于开发的时间):
ii)优先级较低,但必须是未来选项:
由于最后一点迫使开发人员在客户端使用.NET Framework不是一种选择。 客户端的通信必须是可从各种平台和语言访问的任何“标准”技术。 在我的小研究中,我正在阅读“SOAP”,“REST”或“AtomPub”等术语,这些似乎是一种标准协议或通信技术(不是微软的专有发明)。 但我不确定也不知道哪种技术是“最新的”,具有“最佳未来”,是最常见和众所周知的,是最强大的还是最容易使用的(从其他可能的角度来看)开发人员!问题是我必须支持哪些让大多数客户端开发人员满意。
最后一点:安全很重要! 上传/下载数据必须限于专职人员。 没有适当的凭证,就不可能使用或探索界面。
什么技术现在最好用? (1),(2)或(3)? 你为什么推荐它?
非常感谢您的任何建议!
好吧,不。 (2)旧式ASP.NET Web服务即将问世 - 它已经过时,不再开发 - 它已被WCF取代。
所以这留下了选项1(直接WCF)和3(ADO.NET数据服务 - 最近重命名为WCF数据服务)。
两者都使用WCF作为他们的基本技术 - 因此在这两种情况下都必须学习和了解WCF。
使用直接WCF(选项1),您可以选择更多选项 - 您可以自行托管,在IIS中托管服务,使用不同的协议和绑定等等。 但随着选择变得复杂 - 你需要学习和了解所有这些 - 至少在某种程度上。 您的客户需要能够与您交谈 - 几乎任何语言(当然,.NET,Java,Ruby,PHP - 您的名字)都可以用这种或那种方式谈论SOAP。
如果您最感兴趣的是将数据从数据库公开到外部客户端,我认为WCF数据服务确实是一个不错的选择。 它基于REST,因此您可以使用浏览器访问WCF数据服务,看看会发生什么。 它非常强大,甚至提供LINQ客户端支持 - 您可以制定LINQ查询,并将其转换为对数据服务的相应REST调用。
使用WCF数据服务,您的客户端只需要一个HTTP堆栈 - 甚至iPhone也有:-)但是使用.NET客户端,事情当然更好,更舒适,更高效。
我首先要检查WCF数据服务 ,看看它是否满足您的需求 - 如果没有,请深入研究WCF。 同时查看WCF数据服务一目了然 。
更新:
Marc,我是否理解您服务器上的WCF是否满足此要求? 和ADO.NET(WCF)数据服务呢?
绝对。 WCF(平原或与Data Services)在服务器端没有规定以任何方式,形状或形式的客户端。 如果您真的喜欢它,您可以将iPhone连接到WCF数据服务:-) WCF从一开始就设计为非常可互操作 - 实际上,它是实现最多WS- *行业的一个平台跨平台通信标准。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.