与 GWT 客户端和 ASP.NET C# 服务器端的通信/传输协议
Posted
技术标签:
【中文标题】与 GWT 客户端和 ASP.NET C# 服务器端的通信/传输协议【英文标题】:Communication/Transport protocol with GWT client side with ASP.NET C# server side 【发布时间】:2012-01-17 11:03:39 【问题描述】:假设我仅限于服务器端的 .NET Framework 3.5 C# 和客户端的 GWT,您对最佳/最有效的通信方式 + 数据传输协议有何建议,为什么?例如JSON-RPC、XML-RPC、SOAP-WCF 等。
【问题讨论】:
您是出于好奇而寻找最好的,还是在为您的用例寻找一个好的?如果是前者,你为什么不做一个基准测试,如果是后者,那么你需要它多快/多高效才能满足你的要求? 我正在寻找最适合我的情况,并且我想选择可扩展性和应用程序响应能力方面的最佳组合。 啊哈,很好,您应该编辑问题并添加它。为什么您认为通信协议是可扩展性和应用程序的限制因素。第一反应能力? 我可能错了,但我认为与数据传输协议相结合的通信是影响应用程序响应能力的两个主要因素。例如,如果您选择 JSON 而不是 XML,您可能会大大节省每次往返传输的数据量。同样,如果您将 WCF 特定的二进制协议与 JSON 或 SOAP 一起使用,与 JSON-RPC 或 XML-RPC 相比,可能会有一些原因,其中一个会比另一个更有效。添加了我假设我的服务器端和客户端平台的事实。 "假设是所有 fu*kups 之母" :) 你有任何数字来支持你的主张吗?在几个随机网站上打开萤火虫,你会看到渲染页面需要 2-4 秒(获取所有资源......)。并且您正在谈论的序列化以毫秒为单位。你怎么解释这个? 【参考方案1】:JSON-REST,因为 JSON 是 javascript 原生的,因此自然会在 GWT 上得到支持。 REST,因为 .NET 不知道 GWT-RPC 或 RequestBuilder,而 REST 是在 GWT 中访问远程服务的下一个最简单的方法。
在 GWT 方面,您可以使用 gwt-rest-client
。
【讨论】:
【参考方案2】:我认为你在评论中回答了你自己的问题:
例如,如果您选择 JSON 而不是 XML,您可能会 大大节省了每次往返传输的数据量。 同样,如果您使用 WCF 特定的二进制文件,可能会有一些原因 与 JSON-RPC 或 XML-RPC 相比,使用 JSON 或 SOAP 的协议,即 一个会比另一个更有效。
如果不了解应用程序的复杂细节,就无法确定对您的用例最有效的方法。我的假设是使用 JSON-RPC,但同样,没有基准测试就无法确定。
(话虽如此,我会避免使用 XML-RPC,如果只是为了节省大量数据传输。)
【讨论】:
以上是关于与 GWT 客户端和 ASP.NET C# 服务器端的通信/传输协议的主要内容,如果未能解决你的问题,请参考以下文章
C#服务端,Android客户端 开发IM,服务端怎么弄,有没有开源的框架
使用正则表达式的 ASP.NET C# 客户端和服务器端验证
从 ASP.NET 3.5 应用程序在 IFRAME 中运行 GWT 应用程序(包括 Applet)?
C# WCF 元数据端点不工作(IIS 和 ASP.NET 开发服务器)
客户端和服务器无法通信,因为它们没有通用算法 - ASP.NET C# IIS TLS 1.0 / 1.1 / 1.2 - Win32Exception