在远程应用程序中获取DLL的引用?

时间:2011-11-04 13:53:02

标签: c# asp.net rest servicestack

我有一个ServiceStack应用程序,在这个应用程序中有一个名为Performance的类。

现在,我有另一个应用程序,我的最终用户使用它。这是一个控制台应用程序,由最终用户下载并作为后台任务运行。

我想将该应用程序的性能数据发布到我的REST Web服务并将其存储在数据库中。

为此我需要在我的客户端应用程序中运行它,它将性能数据以JSON格式发布到我的ServieStack应用程序:

 JsonServiceClient client = new JsonServiceClient("http://localhost/RestIntro");
        var res = client.Post<Performance>("/Performance", c);

我的客户端应用程序中没有Performance类。我不希望客户端拥有该类,以便在需要进行更改时可以更新所有客户端。

我想知道,如何动态地将Performance类或其DLL放入我的客户端应用程序中?因此,当客户端运行时,它将拥有该类以便将帖子发布到Web服务。

2 个答案:

答案 0 :(得分:1)

我建议您将ServiceStack网络服务的DTO与无依赖项目分开,因为这代表合同 API 你的服务。如果它在自己的组件中,那么您可以轻松地与任何客户或单元测试等共享它。

如果您不喜欢复制dll的想法(即使它的工作/摩擦较少),您可以从/ metadata页面上的xsds生成自己的DTO,请看这个问题:

How can i convert XSD file to C# Class

答案 1 :(得分:0)

您所谈论的内容实际上是通过使用SOAP服务实现的。或者,您需要在客户端上创建一个“性能”类,并将JSON结果反序列化到该类。