如何通过网络发送方法实现的c#对象

时间:2017-04-22 07:49:55

标签: c# .net wcf protocol-buffers grpc

首先,要求:我需要通过网络发送.net对象。这是该类的基本结构 -

class something : somethingelse
{
    public int count { get; set; }

    public List<object> items { get; set; }

    public something(string name)
    {
        //some initialization
    }

    public object Evaluate(string type)
    {
        //some logic
    }
}

something类在服务器上有许多不同的实现,都是从接口派生的(因此,它们具有相同的结构)。但是,在每个中,Evaluate方法中的逻辑都会发生变化。客户端应用程序事先不了解实现。我们需要的是服务器将根据客户端请求中的标识符向客户端发送对象,客户端将使用该对象进一步评估数据。

我已尝试过的内容:

  1. 基本的.net序列化:似乎它们只序列化对象的状态(数据成员),而不是实际的对象。要使用这些方法,我需要在客户端引用DLL。但正如我所提到的,客户端应该事先不知道实现。
  2. .NET remoting:我相信这已经成为一种过时的技术。我不想基于它构建一个全新的应用程序。
  3. WCF:我找不到它是否适合,原因与#1
  4. 相同
  5. 带协议缓冲区的gRPC:我确实专门研究它,因为它看起来更快(我们计划创建大型对象)。但是,我无法想出一种类似的方法来序列化整个对象,而不仅仅是数据成员。
  6. 任何方向的任何帮助将不胜感激。

0 个答案:

没有答案