リクエストされたすべてのページについて、クッキーをチェックするか、クッキーがない場合は作成する必要があります。 クッキーがある場合は、そのクッキーの内容に基づいてDBから情報をロードする必要があります。asp.net mvcがベースコントローラのクッキーデータにアクセスできない
これを行うには、他のコントローラが継承するAppControllerというベースコントローラを作成しました。私はこれを実行すると、私はDefault.aspxの中で、このエラーを取得する
public MySession CurrentSessionValues;
public ApplicationController()
{
if (Request.Cookies["MySiteCookie"] == null)
{
// create new Record in DB
CurrentSessionValues = CreateMySession();
HttpCookie cookie = new HttpCookie("MySiteCookie");
cookie.Value = CurrentSessionValues.SessionID.ToString;
Response.SetCookie(cookie);
}
else
{
// use the value in MySiteCookie to get values from the DB
// e.g. logged in user id, cart id, etc
}
}
:
その後、私はこのような何かを(CurrentSessionValuesオブジェクトはすべての私のコントローラが使用できるように)持っています
タイプのコントローラ「Mvc_Learn.Controllers.HomeController」を作成中にエラーが発生しました。
コントローラに コントローラファクトリがない場合は、パラメータなしのパブリックコンストラクタ があることを確認してください。
それはRequest.Cookiesに壊れる[「MySiteCookie」]
私はいくつかの他の方法または別の場所でこのロジックをやるべき?
ありがとうございます - これを使用して私は使用できました: requestContext.HttpContext.Request.Cookies ["MysiteCookie"] – Nils