В ASP.net 2.0 Response.Cookies.Add()
- это VOID (что меня несколько поражает). Есть ли способ проверить, успешно ли функция добавила файл cookie?
Я просто потратил 2 часа, пытаясь отследить проблему аутентификации для одного пользователя. Наконец я понял, что он был в группе групп AD, и я считаю, что файл cookie, который мы для него собирали и пытались установить, составлял> 4096 байт.
Было бы неплохо знать заранее, если вызов Response.Cookies.Add () не удался.
Мы поймали ошибку позже на странице global.asax, когда сделали:
HttpCookie authCookie = Context.Request.Cookies[cookieName];
и authCookie для этого пользователя всегда был нулевым.
Спасибо за ответы.
Я решил проверить размер перед вызовом Response.Cookies.Add () и соответственно предупредить пользователя.
int iSize = System.Text.UTF8Encoding.UTF8.GetByteCount(authCookie.Values.ToString());
if (iSize > 4096)
{
lblMessage.Text = "The authentication cookie cannot be set as it is > 4096 bytes; a limit imposed by the browser. The current size of the Cookie.Values is " + iSize.ToString() + " bytes.";
lblMessage.CssClass = "msgBox Alert";
return;
}