0
新しいASP.Net 4.6 MVCプロジェクトを作成し、リクエストクッキーコレクションに値を設定して次のリクエストで値を取得しようとしました。 Session
はまだApplication_BeginRequest
の方法では利用できないので、私はクッキーを使用しています。次のコードを使用して、私が要求するCookieの値は、設定したにもかかわらず、すべての要求でnullです。ウェブリクエスト間にクッキーを設定しない
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
protected void Application_BeginRequest()
{
var cookie = this.Request.Cookies.Get("Foo");
string value = cookie?.Value;
if (string.IsNullOrEmpty(value))
{
cookie = new HttpCookie("Foo", "Bar");
cookie.Expires = System.DateTime.UtcNow.AddHours(1);
this.Request.Cookies.Add(cookie);
}
}
protected void Application_EndRequest()
{
var cookie = this.Request.Cookies.Get("Foo");
string value = cookie?.Value;
}
}
私は間違っていますか?クッキーに関する私が見た投稿のすべては、Request.Cookies.Get
/Request.Cookies.Add
という形で設定/取得しています。
私はそれを試してみましたが、それがヒットしませんでした。私はブレークポイントを設定し、VSはその方法で壊れることはありません。 –
リクエストの代わりにレスポンスを使ってクッキーを設定することで修正しました。次回のリクエストでは、クッキーの値が私のために利用可能でした。ありがとうtho –
Application_BeginRequestを打った後、それはApplication_AcquireRequestStateに行く必要があります –