Как установитьData для нового созданного AppDomain. Когда я делаю DoCallBack для своего testFunc, я получаю исключение «System.NullReferenceException». Что я делаю неправильно?Как установить данные в новый Appdomain
var client = "test";
var engine = 123;
AppDomain appDomain = AppDomain.CreateDomain("newDomain");
appDomain.SetData("client", client);
appDomain.SetData("engine", engine);
appDomain.DoCallBack(testFunc);
private void testFunc()
{
var client = (string)AppDomain.CurrentDomain.GetData("client");
var engine = (int)AppDomain.CurrentDomain.GetData("engine");
Console.WriteLine("client: " + client);
Console.WriteLine("engine: " + engine);
}
Установка vars globaly для AppDomain не меняет анонимность, такую же ошибку.
AppDomain.CurrentDomain.SetData("client", client);
AppDomain.CurrentDomain.SetData("engine", engine);
P.S. Я получаю System.NullReferenceException, потому что AppDomain не может найти эти vars, которые я установил до DoCallBack. Итак, как правильно настроить их?
Возможный дубликат [Что такое NullReferenceException, и как это исправить ?] (http://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix-it) – Nasreddine
Нет, это не так. – SLI
Я создал консольное приложение, скопировал предоставленный код и все работает так, как вы ожидали. – Kzrystof