2つの異なるマシンの2つのブラウザがテストページに当たっています。テストページはCookieを取得しています。そこにない場合は、クッキーが作成されます。クッキーは2つの異なるブラウザマシンのクライアントと同じです
public string GetUserCookieId()
{
string cookieName = "CookieId3";
HttpCookie userInfoCookies = Request.Cookies[cookieName];
string cookieId = "";
if (userInfoCookies != null)
cookieId = userInfoCookies.Value;
if (string.IsNullOrEmpty(cookieId))
{
cookieId = Guid.NewGuid().ToString();
HttpCookie cookie = new HttpCookie(cookieName);
cookie.Value = cookieId;
cookie.Expires = DateTime.Now.AddDays(90);
Response.SetCookie(cookie);
}
return cookieId;
}
両方のブラウザマシンが同じCookie値をページに表示しています。これは一度私は "CookieId3"にクッキーの名前を変更しました。私が間違っているところを教えてください。
ご覧のとおり、このメソッドは静的ではありません。ありがとう
興味深い。私は現時点では大丈夫です。 Request.UserHostAddress()でGuid.NewGuid()。ToString()を置き換えると、ページに表示されているのと同じIPアドレスにCookieが設定されますか? – Mead
おそらく、ページをキャッシュするように設定していますか? –
出力キャッシュやその他のサーバーキャッシュ(ロードバランサなど)を意味していました。 '[OutputCache]'属性がどこにもないことを確認してください。 –