我正在计划一个项目,该项目包括用.Net / C#编程的Windows Server应用程序和用Silverlight / C#编程的客户端,Windows Forms / C#和用Cocoa编程的MacClient。我的问题是,哪种Webservice技术最适合客户端和服务器之间的通信,并且最容易在所有这些技术中进行编程?我没有Webservices的经验,而且由于时间紧迫,我希望得到一些在这种异构项目中工作的开发人员的意见。
答案 0 :(得分:2)
在后端,您肯定希望使用Windows Communication Foundation或WSHttpBinding运行BasicHttpBinding,具体取决于您的需求。
这样可以更轻松地拥有Windows窗体和Silverlight客户端。
此外,因为使用带有这些绑定的WCF符合既定标准,您应该能够从几乎任何其他环境访问服务 - 应该有一些工具,您可以将它指向您的元数据端点,它将生成代理你。
另一种选择是use WCF to create a REST service(最有可能使用JSON编码)。 WCF确实对你有所帮助,但是如果这是你想要使用的设计,那么你也需要在后端看看ASP.NET MVC,因为这样可以非常非常容易地创建这些服务
但是,在使用REST服务时,没有像WSDL这样的服务描述,因此您必须生成代理以手动调用您的服务(至少在.NET之外的环境中)。 p>
答案 1 :(得分:1)
用于在.NET上开发Web服务的当前技术是WCF。为了与非.NET客户端的互操作性,您应该考虑使用basicHttpBinding端点。您甚至可以使用不同的绑定公开多个端点,例如,为非.NET客户端公开可互操作的端点,为.NET客户端公开一些快速绑定。这是一个nice article on MSDN,涵盖了不同绑定的性能。根据这些关键字,您可以结帐the tutorials。