【发布时间】:2015-11-22 06:08:38
【问题描述】:
我的目标是让我的服务器在运行时通过网络发送客户端需要的某些类的程序集。这样,客户端 DLL 根本不需要更新。我想知道是否有更好的方法来做到这一点,然后只发送完整的 DLL 文件?我正在使用 TCP 连接。
对于担心这种选择的安全性的任何人,我们都在一个只有有线的本地网络上,没有人可以访问,但受信任的客户端。
【问题讨论】:
-
但是要从服务中调用/下载程序集,您还需要至少一个程序集作为客户端,对吗?同意??如果是这样,那么我会说发布程序集的方式?使用 wcf / remoting 调用方法并通过网络获取结果
-
我确实有一个后端 DLL,它几乎永远不会被更改,它负责发送/接收消息以及客户端/服务器启动。我对 WCF 了解不多,但我目前正在使用 protobufs 进行通信。我有一条初始消息,其中包含序列化程序集的 byte[]。主要问题是如何以最小最有效的形式序列化?
-
我可以告诉你我曾经使用过什么方法。那是一个服务器(本地网络服务器),我将从那里获取更新的 dll。我有一个 web asmx 服务,首先我从中获取服务器上文件的版本。如果版本与客户端上的版本匹配。我继续运行 wpf 表单,但如果版本不同,我将 dll 从服务器下载到客户端并保存在客户端旧文件的相同位置,然后运行 wpf 应用程序。希望它也可以在你的场景中工作
-
我会调查的。我对某些细节有点怀疑,但感谢您的意见!
-
哇,那肯定行得通,而且看起来也不难。
标签: c# .net tcp .net-assembly