Passage de paramètre dans une Tâche.Usine.StartNew

Donné le code suivant:

string injectedString = "Read string out of HttpContext";
Task.Factory.StartNew(() =>
 {
    MyClass myClass = new MyClass();
    myClass.Method(injectedString);
 }

Est-ce la meilleure façon de passer la chaîne dans la Tâche/Thread?

Mes soucis avec cette méthode sont:

  • Serait le garbage collector de savoir quand la chaîne est devenue de
    contexte et de la nettoyer correctement?
  • Est-il un meilleur moyen d'injecter des dépendances dans une Tâche de rupture du lien à l'objet dans le thread principal?

C'est dans un Asp.Net webservice, si elle est importante et est un feu et oublier le type de fil, je ne vais pas attendre pour tout type de réponse.

Ma chaîne est en fait aller le lire de la HttpContext, qui est une des raisons pour lesquelles je suis à l'injecter dans ce processus (Thread n'a pas accès à l'appelant fils HtppContext)

OriginalL'auteur Liam | 2013-11-18