C#Cookies(修改/替换问题)
我无法从服务器端修改存储在Cookie中的SessionKey的最后一个值。下一个请求中的SessionKey仍然具有旧值。我的服务器端代码有什么问题C#Cookies(修改/替换问题),c#,cookies,httplistener,C#,Cookies,Httplistener,我无法从服务器端修改存储在Cookie中的SessionKey的最后一个值。下一个请求中的SessionKey仍然具有旧值。我的服务器端代码有什么问题 var varHttpListenerContextResponseCookie_SessionKey = refHttpListenerContext.Response.Cookies[Constants.Cookies.LongNames.SessionKey]; if (varHttpListenerContextResponse
var varHttpListenerContextResponseCookie_SessionKey =
refHttpListenerContext.Response.Cookies[Constants.Cookies.LongNames.SessionKey];
if (varHttpListenerContextResponseCookie_SessionKey != null)
{
varHttpListenerContextResponseCookie_SessionKey.Value = refSessionKey;
}
else
{
refHttpListenerContext.Response.AppendCookie(
new System.Net.Cookie(Constants.Cookies.LongNames.SessionKey, refSessionKey));
}
请帮帮我!:) 据我所知,您希望修改会话密钥。如果正确,那么您可以使用SessionManager,它将允许您创建一个新的会话密钥。如果这不是你想要的,请提供更多关于你的问题的细节 谢谢, 沙市
如果您的问题得到了回答,请将其标记为已回答。据我所知,您希望修改会话密钥。如果正确,那么您可以使用SessionManager,它将允许您创建一个新的会话密钥。如果这不是你想要的,请提供更多关于你的问题的细节 谢谢, 沙市
如果您的问题得到了回答,请将其标记为已回答。若要更新值,您必须记住将修改后的cookie添加到响应中
// get existing cookie or create new
var cookie = Request.Cookies[Constants.Cookies.LongNames.SessionKey] ?? new HttpCookie(Constants.Cookies.LongNames.SessionKey);
// set cookie value
cookie.Value = refSessionKey;
// add cookie to http repsonse
Response.Cookies.Add(cookie);
若要更新值,必须记住将修改后的cookie添加到响应中
// get existing cookie or create new
var cookie = Request.Cookies[Constants.Cookies.LongNames.SessionKey] ?? new HttpCookie(Constants.Cookies.LongNames.SessionKey);
// set cookie value
cookie.Value = refSessionKey;
// add cookie to http repsonse
Response.Cookies.Add(cookie);
另外,在修改/添加cookie时,不要忘记创建/增加过期时间,因为过期的cookie可能无法检索
cookieForPage.Expires = DateTime.Today.AddYears(100);
另外,在修改/添加cookie时,不要忘记创建/增加过期时间,因为过期的cookie可能无法检索
cookieForPage.Expires = DateTime.Today.AddYears(100);