【问题标题】:Mono - sharing code on client and server . .Mono 在客户端和服务器上共享代码。 .
【发布时间】:2008-12-14 13:46:10
【问题描述】:

我们正在尝试制定我们的客户端和服务器标准,但存在很大争议。一种思想流派是 C# 客户端和 Java 服务器使用某种类型的专有消息库来共享数据对象(想想类似 XML 的结构......)

此模型的问题在于,如果您在服务器上也使用 C#,则需要复制大量代码(验证、解析),这些代码可以简单地重复使用。如果大力推动使用 linux 机器,那么 mono 不会支持您的目标。 .

其他人有这个困境吗?

【问题讨论】:

    标签: c# java shared-libraries


    【解决方案1】:

    有这方面的框架。 ICE(ZeroC)、“协议缓冲区”等

    例如,我的协议缓冲区实现(protobuf-net)适用于单声道、MS .NET、CF、Silverlight 等 - 并且二进制格式与 范围 的语言(java 等)兼容)。如果您从 .proto(一种定制的定义语言)开始,您可以使用它以您需要的每种语言生成对象层。

    【讨论】:

      【解决方案2】:

      在任何情况下,我都会使用协议缓冲区或其他以中性语言形式定义的通信,以确保您将来不受限制。

      完成后,您可以在 Mono 上开始使用 C#。然后如果证明不可行,您可以切换到其他语言。

      【讨论】:

        【解决方案3】:

        我建议您使用一些旧但很好的标准在两者之间传输数据,例如 SOAP 和 XML-RPC。如果其中任何一个可行或可行,您可能想尝试 JSON 或编写自己的 XML 格式。最近很多人提到了协议缓冲区,但我还没有研究过,所以我真的无话可说。

        【讨论】:

          【解决方案4】:

          我会尽量让客户端和服务器保持相同的运行时(Java 或 CLR)。我们在混合使用 Mono 和 .Net 客户端/服务器方面取得了很大的成功。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2016-08-02
            • 2014-06-09
            • 1970-01-01
            • 2012-02-28
            • 1970-01-01
            • 2015-04-22
            • 1970-01-01
            • 2017-10-04
            相关资源
            最近更新 更多