在Black Jack遊戲上工作,我試圖將玩家的餘額保存爲cookie。我無法讓它正常工作。退出瀏覽器並重新加載網頁時,Cookie始終爲空。爲什麼我的cookie在C#ASP.NET空白Web項目中顯示爲空?
我將cookie聲明爲靜態變量,因此我可以在稍後的方法中將其發送給客戶端。
public partial class BlackJack : System.Web.UI.Page
{
public static HttpCookie cookie;
protected void Page_Load(object sender, EventArgs e)
{
cookie = Request.Cookies["Balance"];
if (!IsPostBack)
{
if (cookie != null)
{
PlayerBalance = Convert.ToInt32(cookie.Values["balance"]);
if (PlayerBalance == 0)
{
PlayerBalance = 250;
}
}
else
{
PlayerBalance = 250;
HttpCookie cookie = new HttpCookie("Balance");
cookie.Values.Add("balance", PlayerBalance.ToString());
cookie.Expires = DateTime.Now.AddYears(1);
Response.Cookies.Add(cookie);
}
PlayerBet = 0;
}
然後在後面的每個手後運行的方法中,我用Response.Cookies.Add()保存cookie。
public void Other Method()
{
cookie = Request.Cookies["Balance"];
cookie.Values["balance"] = PlayerBalance.ToString();
Response.Cookies.Add(cookie);
}
但是,如果我關閉了瀏覽器並返回到站點,cookie始終爲空。
你是什麼意思_「餅乾總是空」 _,你究竟在什麼時候觀察這個以及如何?此外,您知道Cookie是用戶可編輯的,因此用戶可以根據自己的需要重新設置它們的平衡嗎? – CodeCaster
不知道cookie是用戶可編輯的,謝謝你的信息。這只是一個有趣的項目,所以我會探索其他選項,但我想弄清楚cookie。 「Always」無效是一種糟糕的表達方式,我的錯誤。但是在調試時,當我逐步執行代碼時,cookie將具有正確的值,但是當我停止並再次開始調試時,我無法獲取cookie以獲取以前的餘額,它表示值爲空。 發佈項目後,我看到同樣的事情發生。打開和關閉瀏覽器後,我無法取回以前的餘額。 – Chris