我需要在另一个应用程序域中调用对象的方法(传递参数并获取结果)。有什么想法吗?
更新:两个应用程序域都不是由我的代码创建的(宿主应用程序创建它,然后调用我的代码)。我如何从另一个应用程序域中访问一个应用程序域?
AppDomain.IsDefaultAppDomain
方法返回true的域。通常使用AppDomain.DoCallBack来实现此功能。如果要传递参数,您需要创建一个可序列化的对象,将其方法传递给上述方法。
在回调方法中,您可以执行另一个AppDomain回调,将结果传递回原始AppDomain。
AppDomain.CreateInstanceAndUnwrap
在另一个域中创建该类的实例,最后在另一个域中调用该实例的方法。 - Centro