Mi piacerebbe sapere, se ho una variabile, ad esempio, una stringa, come passare il suo valore al mio nuovo dominio applicazione:Come passare una variabile da un dominio ad un altro app
static string _str;
static void Main(string[] args) {
_str = "abc";
AppDomain domain = AppDomain.CreateDomain("Domain666");
domain.DoCallBack(MyNewAppDomainMethod);
AppDomain.Unload(domain);
Console.WriteLine("Finished");
Console.ReadKey();
}
static void MyNewAppDomainMethod() {
Console.WriteLine(_str); //want this to print "abc"
}
Grazie
Grazie. Ora mi piacerebbe sapere come ottenere informazioni sul mio appdomain principale. Cioè, restituire un oggetto. Grazie! –
E un'altra domanda. Vedo AppDomainInitializerArguments accetta solo un array di stringhe. In questo caso voglio solo stringhe, quindi non c'è alcun problema, ma se volessi un altro tipo di dati? Niente da fare al riguardo? –
I domini di app non condividono lo spazio di memoria di un oggetto e pertanto il passaggio degli oggetti richiede la serializzazione di qualche tipo. Per restituire un oggetto, potresti eseguire DoCallBack sull'appodominio originale, se riuscissi a metterlo tra le mani (non vedo però un modo semplice per farlo). In alternativa, potresti stabilire un'altra forma di canale interprocessuale tra i domini, ad es. una pipa con nome. –