Der System.Runtime.Remoting.Contexts-Namespace enthält Objekte, die die Kontexte aller darin befindlichen Objekte definieren. Ein Kontext ist eine geordnete Folge von Eigenschaften, die eine Umgebung für die darin befindlichen Objekte definiert. Kontexte werden während der Aktivierung für Objekte erstellt, die so konfiguriert sind, dass bestimmte automatische Dienste für sie erforderlich sind, z. B. Synchronisierung, Transaktionen, JIT-Aktivierung (Just-In-Time), Sicherheit usw. In einem Kontext können sich mehrere Objekte befinden.
Bei jeder Erstellung eines neuen Objekts sucht .NET Framework einen kompatiblen Kontext oder erstellt einen neuen Kontext für das Objekt. Nachdem ein Objekt in einem Kontext platziert wurde, bleibt es dort für seine gesamte Lebensdauer. Klassen, die an einen Kontext gebunden werden können, werden als kontextgebundene Klassen bezeichnet. Beim Zugriff aus einem anderen Kontext heraus wird auf diese kontextgebundenen Klassen direkt mit einem Proxy verwiesen. Ein Aufruf eines Objekts in einem Kontext durch ein Objekt in einem anderen Kontext durchläuft einen Kontextproxy und wird von der Richtlinie beeinflusst, die von den kombinierten Kontexteigenschaften implementiert wird.