Ich habe 2 Sitzung für dieselbe Klasse erstellen.Zuweisen einer Sitzung zu einer anderen Sitzung für dieselbe Klasse in C#
public static Breadcrumb Breadcrumb
{
get { return HttpContext.Current.Session["Breadcrumb"] != null ? (Breadcrumb)HttpContext.Current.Session["Breadcrumb"] : null; }
set { HttpContext.Current.Session["Breadcrumb"] = value; }
}
public static Breadcrumb ChildBreadcrumb
{
get { return HttpContext.Current.Session["ChildBreadcrumb"] != null ? (Breadcrumb)HttpContext.Current.Session["ChildBreadcrumb"] : null; }
set { HttpContext.Current.Session["ChildBreadcrumb"] = value; }
}
und die Klasse für Sitzung verwendet wird, wie unten
[Serializable]
public class Breadcrumb
{
public string project { get; set; }
public int projectId { get; set; }
}
ich nur ein einziges Mal in einem Fall Brotkrumen zu ChildBreadcrumb bin zuweisen.
Aber ChildBreadcrumb aktualisiert die ganze Zeit, wenn Breadcrumb nach Zuweisung geändert wird.
Wie kann ich dieses automatische Update verhindern?
Nur eine Randnotiz - C# hat einen Null-Verkettungsoperator, und Referenztypen können den 'as'-Operator verwenden, so dass Sie nie' x! = Null machen müssen? (T) x: y' - stattdessen 'x ?? y als T' – Keith