可以在外部类上调用函数吗?
外部类在另一台机器上运行(比如它的位置是mymachine.com)。
前段时间曾使用CreateInstance
,但不认为会这样做(如果我错了,请纠正我)。
我一直在寻找很长一段时间,但还没有找到解决方案,所以我希望你们中的一个可以提供帮助。
我搜索的其中一个来源但没有信息:( http://www.dreamincode.net/forums/topic/102523-call-an-external-function-on-button-click/
希望你能帮忙。答案 0 :(得分:4)
使用自托管WCF服务,远程处理或任何网络技术。
遗憾的是,没有任何神奇的属性可以实现这一点。
[编辑]我还想补充一点,你我要小心。当您使用某些远程处理机制(远程处理,WCF,rpc等)时,您使用“代理”。代理是一个模拟实际对象的对象,但封装了通信。它允许开发人员通过拥有对象,属性,方法等来隐藏复杂性,但开发人员必须知道背后的技术(例如,WCF服务的xml消息传递)。它可能会对网络,响应能力以及编程模型产生影响。
答案 1 :(得分:3)
此类操作是为其构建Web服务/ WCF服务/远程处理的操作。 WCF是处理跨边界通信的非常好的解决方案。看看WCF,谷歌是你的朋友。
答案 2 :(得分:0)
见这些: http://www.aspfree.com/c/a/.NET/Introduction-to-RPC-on-Windows-Part-I/ http://www.csharphelp.com/2007/01/interprocess-communication/
答案 3 :(得分:0)
如果外部程序集位于远程计算机上的共享文件夹中,则可以执行以下操作之一:
1)实现AppDomain.CurrentDomain.AssemblyResolve
事件处理程序以加载外部程序集,并进行需要进行的调用。顺便提一下项目中的程序集(copylocal = false)。第一次调用程序集中的类或静态方法将调用事件处理程序并加载远程外部程序集。
2)使用System.Reflection.Assembly.LoadFrom()
通过反射加载装配并提供远程路径。使用反射来调用所需的方法等。