Kullanıcının kullanıcı kimliğini sürdürmek için kullanıyorum bir çerez var, ancak yeni bir değerle değiştirerek zor bir zaman geçiriyorum. MSDN'ye göre, sadece değerin üzerine yazabilmem gerekir, fakat çalışmadı. Bir işleyicide giriş mantığını yapıyorum ve başarılı olurlarsa kullanıcıyı yeni bir web sayfasına yönlendiriyorum.HttpHandler'da Çerez Değerini Değiştirme
public void ProcessRequest(HttpContext context)
{
User user = User.FindByUsernameAndPassword(
context.Request.Form["username"],
context.Request.Form["password"]);
context.Response.Cookies["user_id"].Value = user.ID.ToString();
context.Response.Redirect("/profile", true);
}
bunu ilk kez giriş iyi çalışıyor, ama yeni bir kullanıcı kimliği ile işleyicisi vurarak benim şimdiki çerez üzerine çalışırsanız, çerez değerini değiştirmez ve ben açmış edilmeye devam ben vurduğum zamanki gibi.
Diğer sayfalar giriş yapmak için çerezi kullanır, ancak kullanıcı kimliği değişmediğinden oturum açmış kullanıcıyı değiştirmez.
public User User { get; set; }
public override void Page_Load()
{
this.User = User.Find(int.Parse(Request.Cookies["user_id"].Value));
}
Üzgünüz, bu bir yazım hatasıydı. Kod, '.Value' olmadan yaparsanız bile derleme yapmaz. –
Çerezin değerini değiştirmeden önce var olup olmadığını kontrol etmemiz gerekiyor mu, başka bir deyişle, çerez yok ise hata olur mu ve mevcut olmayan bir çerezin değerini değiştirmeye çalışıyoruz? – sajanyamaha
evet, çerez null ise, Value özelliği – carlbenson