为任何客户端启用WCF Ajax

时间:2011-02-21 19:39:48

标签: c# ajax wcf architecture

我需要公开几个WCF服务,但是必须从任何客户端(WPF,Explorer,Chrome,AJAX)使用这些服务,并且客户端生成工具或与安全性相关的方面必须适用。  我需要一个关于什么是最好的方法的建筑/技术建议:工具,架构等......来解决这个问题。

据我所知,对于WCF服务,有很多不同的选项可以做到这一点,但是,例如,如果数据以支持AJAX的方式公开,我不知道这会产生的问题或限制非AJAX客户端的WCF。

欢迎任何建议。

提前致谢

1 个答案:

答案 0 :(得分:0)

在我看来,AJAX确实是指客户端应用程序如何访问数据。 AJAX(异步javascript和XML)不再是真正的AJAX,因为它似乎是有效负载的首选格式而不是XML,因为它更加简化。

我认为从您的WCF服务角度来看,您确实需要确定将数据公开的数据格式或格式。它是XML,JSON还是其他一些文本格式?我不确定您以支持AJAX的方式公开的数据是什么意思,但如果您要对数据进行跨平台访问,您可能希望将服务公开为RESTful服务。查看.NET 4 Framework中的WCF Web HTTP(REST)功能(MSDN文档here),以帮助指导您开发适用于许多支持AJAX的客户端框架的RESTful服务。

使用WCF Web HTTP模型的最大限制可能是您没有使用基于SOAP的WCF编程的WS- *安全性和消息传递功能。同样,您必须确定您的应用程序的安全性和其他需求。但这些是WCF编程的两个主要“块” - SOAP / WS- *和非SOAP / REST。 (这是一种概括,我确信可能有一些例外。)

将您的服务公开为RESTful服务适用于许多客户端框架,例如jQuery,WCF数据服务(OData)客户端框架,Silverlight / WPF等。许多选项而不依赖于.NET框架。

我希望这会有所帮助。如果我需要澄清一些观点,请告诉我。

谢谢!