में कुकी अपडेट करने में असमर्थ मैं इस पर पागल हो रहा हूं। मैं एक कुकी को लिख सकता हूं, और फिर इसे फिर से पढ़ सकता हूं। लेकिन किसी बिंदु पर, मैं उस मान को अपडेट करना चाहता हूं जो उसके पास है। जब भी मैं कुकी को फिर से प्राप्त करता हूं, मुझे प्रारंभिक मान मिलता है, अद्यतन नहीं। नीचे कोड है जिसे मैं लिखने/अपडेट करने और कुकी के पढ़ने के लिए उपयोग करता हूं।ASP.NET
private static HttpCookie WriteCookie(Guid siteId, string siteName)
{
var cookie = HttpContext.Current.Request.Cookies.Get("UserSettings");
if(cookie != null) {
cookie.Value = EncryptObject(new UserSettingsModel { SiteID = siteId, SiteName = siteName });
HttpContext.Current.Response.Cookies.Set(cookie);
}else {
cookie = new HttpCookie("UserSettings") { Path = "/", Expires = DateTime.Now.AddDays(1), Value = EncryptObject(new UserSettingsModel { SiteID = siteId, SiteName = siteName }) };
HttpContext.Current.Response.Cookies.Add(cookie);
}
return cookie;
}
public static UserSettingsModel GetUserSettings(string username = null)
{
var cookie = HttpContext.Current.Request.Cookies.Get("UserSettings");
if (cookie == null || string.IsNullOrEmpty(cookie.Value))
{
cookie = ResetUserSettings();
}
var userSettings = DecryptObject<UserSettingsModel>(cookie.Value);
if (userSettings != null)
{
var siteId = userSettings.SiteID;
var siteName = userSettings.SiteName;
return new UserSettingsModel { SiteID = siteId, SiteName = siteName };
}
throw new SecurityException("You have no site attached to your user. Contact an administrtor.");
}
GetUserSettings
हमेशा मूल्य है कि कुकी शुरू में साथ बनाया गया था देता है। क्या गलत है?
संपादित करें:
मैं एक नियंत्रक में एक विधि से सीधे WriteCookie बुला की कोशिश की। कुकी अब सेट किया गया था। मैं आमतौर पर एक अजाक्स अनुरोध के माध्यम से WriteCookie कहा जाता है। अब, क्या मुझे वास्तव में जावास्क्रिप्ट का उपयोग करके कुकी लिखनी है, या क्या मैं किसी भी तरह से WriteCookie का उपयोग कर इसे कर सकता हूं?
धन्यवाद!
क्या आपने वास्तव में फिडलर का उपयोग करके क्या भेजा है? विशेष रूप से समाप्ति और पथ को देखो। – Oded
मैं क्रोम ब्राउज़र का उपयोग कर रहा हूं, और एकीकृत डेवलपर टूल का उपयोग कर रहा हूं, मैं देख सकता हूं कि कुकी मान कभी अपडेट नहीं होता है। मुझे आश्चर्य है कि – Andreas
क्या हो रहा है यह देखने के लिए अनुरोध और प्रतिक्रिया शीर्षलेख देखें। – Oded