使用远程处理传递委托而不传递实现程序集

时间:2011-06-07 17:08:47

标签: delegates remoting

我已经被困在这几天了,在我放弃之前,我会在这个社区找到答案。

*我想使用远程处理将代理从客户端应用程序传递到跨应用程序域的服务器应用程序。 *委托是定义在服务器和客户端之间共享的程序集中。 *委托自己是一个匿名代表,在客户端宣布正文。

我的问题是,当我将委托传递给服务器时,服务器需要声明委托主体的程序集(客户端程序集之一)。我们的软件架构禁止加载客户端程序集。在我想到它时,我应该能够将定义委托的IL传递给服务器,使用dyanmicMethod创建委托并执行它。如果是这种情况那么为什么.net需要程序集,即使委托主体包含简单类型?有没有办法远程装配而不需要声明主体的装配?

PS:我想做的原因是性能。委托封装了对服务器的多个调用。我无法修改服务器API等来执行此操作。

感谢任何信息

1 个答案:

答案 0 :(得分:1)

我认为你不能这样做。

当您将委托传递给服务器时,服务器将需要能够加载定义委托的类的定义,因此无法在服务器端获取仅客户端的匿名方法

讨论如何在此link解决此问题。我不知道您是否可以重新组织代码以与该模式保持一致。

将一些IL发送到另一方并执行此操作将是一个有趣的想法,但我不知道这是否可行。听起来会有很多安全措施和其他障碍可以让它发挥作用。