私はクッキーの有効期限に夢中になっています。概念的には非常に単純ですが、私のサーバーでは機能していません...それは私を夢中にさせている IIS 設定だと思います。どう思いますか????
MVC 3 サンプル プロジェクトから始めて、ホーム コントローラーに次のコードを追加しています。
public ActionResult Index()
{
var PersistentLogonCookieName = "test";
var persistentLogon = DateTime.Now.ToLongTimeString();
var persistentLogonCookie = new HttpCookie(PersistentLogonCookieName, persistentLogon);
persistentLogonCookie.Expires = DateTime.UtcNow.AddDays(2);
if (Request.Cookies[PersistentLogonCookieName] == null)
{
ViewBag.Message = "Cookie NOT Found!";
persistentLogonCookie.Value = "added" + DateTime.Now.ToLongTimeString();
Response.Cookies.Add(persistentLogonCookie);
}
else
{
ViewBag.Message = "Cookie Found!";
Response.SetCookie(persistentLogonCookie);
}
return View();
}
ローカルで実行すると、Cookieが見つかった2番目のリクエストの後に正常に動作します....サーバーで実行すると、常にCookieが見つかりません....コメントpersistentLogonCookie.Expires = DateTime.UtcNow.AddDays(2);
すると、サーバーでも正常に動作します。ローカル マシンとサーバーの間の IIS 設定が異なる場合、何を考えればよいかわかりません。応答ヘッダーには次のものがあります。
Set-Cookie test=added4:23:39 PM; expires=Wed, 14-Aug-2013 15:23:39 GMT; path=/
しかし、サーバーでテストすると、次のリクエストのCookieコレクションにCookieが追加されず、ローカルIISでテストするとCookieコレクションに追加されます....どんな提案も大歓迎です....