Передача параметра в Task.Factory.StartNew
Учитывая следующий код:
string injectedString = "Read string out of HttpContext";
Task.Factory.StartNew(() =>
{
MyClass myClass = new MyClass();
myClass.Method(injectedString);
}
Это лучший способ передать строку в задание / поток?
Мои проблемы с этим методом:
Будет ли сборщик мусора знать, когда строка вышла из контекста, и правильно ли ее очистить?Есть ли лучший способ внедрить зависимости в задачу, разрывающую ссылку на объект в главном потоке?Это в веб-сервисе Asp.Net, если это имеет значение и является веткой типа «забыл и забыл», я не жду никакого ответа.
Моя строка действительно будет прочитана изHttpContext
, что является одной из причин, почему я делаю это таким образом (поток не имеет доступа к вызывающим потокамHtppContext
)