4 Stimmen

Platzhalter für die Speicherung von temporären Werten im C#-Thread-Kontext

Ich möchte einige Informationen (Schlüssel-Wert-Paar) in einem c#-Thread-Kontext oder ähnlich (genau wie httpcontext für eine Web-Anforderung) speichern.

Ich möchte in der Lage sein, diese Informationen (Schlüssel-Wert-Paar) irgendwo in Thread-Kontext (oder etwas ähnliches) zu speichern, so dass mein Code immer diese Werte aus dem aktuellen Thread seine Ausführung unter lesen kann.

In meiner Anwendung habe ich eine Kette von API-Aufrufen und seine nicht möglich, diese Informationen von einer Methode zu anderen übergeben (bereits dsicarded diese Option!)

Hinweis - Dieser Thread wird als asynchroner Vorgang innerhalb einer Asp.Net-Anwendung ausgeführt.

4voto

driis Punkte 156110

Suchen Sie nach Thema Lokale Speicherung unter Verwendung der Attribut ThreadStatic ?

public static class ThreadLocalExample
{
    // There will be one Foo instance per thread.
    // Each thread will have to initialize it's own instance.
    [ThreadStatic]
    private static Foo bar;
}

Natürlich können Sie einige Hilfsmethoden oder Eigenschaften hinzufügen, um die Instanz zu verwalten und die Initialisierung auf jedem Thread zu gewährleisten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X