通过网络发送C#程序集/DLL?

通过网络发送C#程序集/DLL?,c#,.net,tcp,.net-assembly,C#,.net,Tcp,.net Assembly,我的目标是让服务器在运行时通过网络发送客户端需要的某些类的程序集。这样,客户端DLL根本不需要更新。我想知道是否有更好的方法来做到这一点,然后只是发送完整的DLL文件?我正在使用TCP连接 对于任何担心这种选择的安全性的人来说,我们是在一个只有有线的本地网络上,除了可信的客户端之外,没有人可以访问。您所描述的问题就是ClickOnce旨在解决的问题。从: ClickOnce是一种部署技术,它使您能够创建基于Windows的自我更新应用程序,这些应用程序可以在用户交互最少的情况下安装和运行。如果您

我的目标是让服务器在运行时通过网络发送客户端需要的某些类的程序集。这样,客户端DLL根本不需要更新。我想知道是否有更好的方法来做到这一点,然后只是发送完整的DLL文件?我正在使用TCP连接


对于任何担心这种选择的安全性的人来说,我们是在一个只有有线的本地网络上,除了可信的客户端之外,没有人可以访问。

您所描述的问题就是ClickOnce旨在解决的问题。从:

ClickOnce是一种部署技术,它使您能够创建基于Windows的自我更新应用程序,这些应用程序可以在用户交互最少的情况下安装和运行。如果您使用Visual Basic和Visual C#开发了项目,Visual Studio将为发布和更新使用ClickOnce技术部署的应用程序提供全面支持


其中最重要的一个方面是安全。例如,如何验证程序集是否可以安全运行,程序集是否来自正确的源,等等。不构建自定义实现的一个主要好处是您使用的是行业标准和经过审查的机制。ClickOnce使用证书。

但要从服务调用/下载程序集,您还需要至少一个程序集作为客户端,对吗??同意??如果是这样的话,我会说如何张贴大会?使用wcf/remoting调用该方法并通过网络获得结果我有一个后端DLL,它几乎永远不会被更改,负责发送/接收消息以及客户机/服务器启动。我对WCF了解不多,但我目前正在使用protobufs进行通信。我有一条初始消息,其中包含序列化程序集的字节[]。主要的问题是如何以最小最有效的形式序列化?我可以告诉你我曾经使用过什么方法。这是一个服务器(本地网络服务器),我将从中获得更新的dll。我使用的是一个web asmx服务,首先从该服务获取服务器上文件的版本。如果版本与客户端上的版本匹配。我继续运行wpf表单,但如果版本不相同,我将dll从服务器下载到客户端,并保存在客户端旧文件的相同位置,然后运行wpf应用程序。希望它能在你的情况下起作用,我会调查的。我对一些细节有点怀疑,但是谢谢你的意见!哇,那肯定行,看起来也不难。谢谢你的意见!自从我问起,我的定制手机就开始工作了,但这可能是未来开发或其他人希望做这类事情的最佳答案。