como chamar um método de uma classe de outro appDomain
meu aplicativo deseja chamar um método de uma classe que é de outro AppDomain.
AppDomain env = AppDomain.CreateDomain(
"test",
null,
new AppDomainSetup() { ApplicationName = "test" }
);
Assembly a = Assembly.LoadFrom("d:\\testenv1\\test2.dll");
//env.AssemblyResolve += new ResolveEventHandler(env_AssemblyResolve);
env.Load(a.FullName);
ObjectHandle o = env.CreateInstance(a.FullName, "Test2.Class1");
agora eu tenho o identificador de objeto do Test2.Class1, mas não tenho idéia de como invocar o método "action" da classe Class1.
o método "action" gosta desta:
public void action()
{
Console.WriteLine(AppDomain.CurrentDomain.FriendlyName + " ok");
}
Tentei usar o método o.unwrap () para obter a referência do objeto, mas parece que o objeto foi transferido para o domínio atual, portanto a saída do método "action" imprime o nome de domínio atual.