Ich habe eine ASP.NET MVC 5-Anwendung, in der in einem Abschnitt (mit Abschnitt meine ich einen Website-Abschnitt, ich meine nicht, dass es sich um einen bestimmten Bereich oder etwas anderes handelt) einige Felder in Cookies gespeichert sind und diese nur in diesem Abschnitt verwendet werden.
Aber aus irgendeinem Grund muss ich die Cookies deaktivieren, sobald der Benutzer diesen Abschnitt verlässt und woanders hingeht. Wenn er also später zu diesem Abschnitt zurückkehrt, tut er dies nicht Ich habe alte Cookies, aber es werden neue generiert. Ich habe darüber nachgedacht, irgendwie ein Attribut zu erstellen und alle Controller dieses Abschnitts mit einer ID zu markieren. Dann prüfe ich in der Basisklasse, ob der Controller diese spezifische ID hat. In diesem Fall unternehme ich nichts, sonst werden Cookies ungültig. Aber das ist meiner Meinung nach keine gute Lösung, da jede Anfrage an andere Abschnitte versuchen wird, einige Cookies ungültig zu machen, was nicht gut ist (Ressourcenverschwendung).
Gibt es eine geeignete Möglichkeit, dies zu tun? Dies im Allgemeinen?
Alle Controller erben von einem BaseController, wenn das hilft.
Ich weiß, das scheint, als ob etwas nicht stimmt Design, aber es kann nicht geholfen werden, da der alte Code auf ASP.NET MVC migriert wird und für diesen Fall kann man wirklich nichts anderes tun.
Hier ist also die Situation im Code:
public class BaseController : Controller
{
// OnActionExecuted check if controller has Id = 1, don't do anything else invalidate cookies
}
[GiveSomeId(1)]
public class CookieController : BaseController { }
public class OtherController : BaseController { }
Behalten Sie einige Cookies nur bei bestimmten Controllern bei ⇐ C#
-
- Similar Topics
- Replies
- Views
- Last post