C# 正在寻找关于.Net和Cocoa之间的Web服务的最佳实践

C# 正在寻找关于.Net和Cocoa之间的Web服务的最佳实践,c#,cocoa,web-services,C#,Cocoa,Web Services,我正在计划一个项目,它将包括一个用.Net/C#编程的Windows Server应用程序和用Silverlight/C#编程的客户端、Windows窗体/C#和一个用Cocoa编程的MacClient。我的问题是,哪种Web服务技术最适合客户端和服务器之间的通信,并且在所有这些技术中最容易编程?我没有web服务方面的经验,由于时间紧迫,我希望能得到从事此类异构项目的开发人员的一些意见。目前用于在.NET上开发web服务的技术是。对于与.NET客户机的互操作性,您应该考虑使用端点。您甚至可以使用

我正在计划一个项目,它将包括一个用.Net/C#编程的Windows Server应用程序和用Silverlight/C#编程的客户端、Windows窗体/C#和一个用Cocoa编程的MacClient。我的问题是,哪种Web服务技术最适合客户端和服务器之间的通信,并且在所有这些技术中最容易编程?我没有web服务方面的经验,由于时间紧迫,我希望能得到从事此类异构项目的开发人员的一些意见。

目前用于在.NET上开发web服务的技术是。对于与.NET客户机的互操作性,您应该考虑使用端点。您甚至可以使用不同的绑定公开多个端点,例如,为非.NET客户端公开可互操作的端点,为.NET客户端公开一些快速绑定。下面是一个介绍不同绑定性能的示例。对于那些您可能签出的关键字。

在后端,您肯定会希望运行,根据需要使用或

这将使Windows窗体和Silverlight客户端更容易使用

此外,由于将WCF与这些绑定一起使用符合既定标准,因此您应该能够从几乎任何其他环境访问服务-应该有一些工具,您可以将其指向元数据端点,它将为您生成代理

另一个选项是(最有可能使用JSON编码)。WCF确实对您有所帮助,但如果这是您想要使用的设计,那么您还需要看看后端的ASP.NET MVC,因为它使创建此类服务非常非常容易

但是,在使用REST服务时,没有通过WSDL之类的内容进行服务描述,因此您必须生成代理来手动调用您的服务(至少在.NET以外的环境中)