C # Cookies (проблема с модификацией / заменой) - PullRequest
0 голосов
/ 24 августа 2011

Я не могу изменить последнее значение SessionKey, которое хранится в куки со стороны сервера. SessionKey в следующем запросе все еще имеет старое значение. Что не так в коде моего сервера?

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));
}

Пожалуйста, помогите мне!:)

Ответы [ 3 ]

3 голосов
/ 24 августа 2011

Вы должны не забыть добавить свой измененный файл cookie в Response, если вы хотите обновить значение

// 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);

MSDN - Основы файлов cookie в ASP.NET

0 голосов
/ 25 августа 2014

Также при изменении / добавлении куки не забудьте создать / увеличить срок действия, так как просроченные куки не могут быть извлечены

cookieForPage.Expires = DateTime.Today.AddYears(100);
0 голосов
/ 24 августа 2011

Насколько я понимаю, вы хотите изменить сеансовый ключ.Если это правильно, то вы можете использовать SessionManager, который позволит вам создать новый ключ сеанса.Если это не то, что вы хотели, пожалуйста, дайте более подробную информацию о вашем вопросе.

Спасибо, Шаши

Если на ваш вопрос ответили, пожалуйста, отметьте его как Отвеченный.

...