2011-02-01 56 views
0

它可以调用外部类的函数吗? 外部类在另一台机器上运行(说它的位置是mymachine.com)。 前段时间使用过CreateInstance,但不认为会这样做(纠正我,如果我错了)。 我一直在寻找很长一段时间,但还没有找到解决方案,所以我希望你们其中一位能帮忙。C#调用外部函数(类其他机器)

的我已经搜查了一个来源是,但没有信息:( http://www.dreamincode.net/forums/topic/102523-call-an-external-function-on-button-click/

希望你能有所帮助。

+0

当您说:“外部类在另一台计算机上运行”时,您可能意味着包含此类实例的进程正在另一台计算机上运行。 – HuBeZa 2011-02-01 13:19:28

回答

4

使用自托管的WCF服务,远程或任何联网技术。

有当你使用一些远程处理机制(无论是远程处理,WCF,rpc等)时,我都会加以注意,你使用“代理”工作。代理是一个模拟实际对象的对象,但封装了通信。它允许开发人员通过具有属性,方法等的对象来隐藏复杂性,但背后的技术(例如,WCF服务的xml消息传递)必须由开发人员知晓。它可能会影响网络,响应速度以及编程模型。

3

这种操作是为Web Services/WCF Services/Remoting构建的。 WCF是处理跨边界通信的非常好的解决方案。看看WCF,谷歌是你的朋友。

0

如果外部组件是在远程机器上的共享文件夹,则可以做以下之一:

1)实现AppDomain.CurrentDomain.AssemblyResolve事件处理程序以加载外部程序集,并进行所需的调用。 (copylocal = false)也可以在项目中引用程序集。在程序集中实例化类或静态方法的第一个调用将调用事件处理程序并加载远程外部程序集。

2)使用System.Reflection.Assembly.LoadFrom()通过反射加载组件并提供远程路径。使用反射来调用所需的方法等。