Настройка порта cookie - PullRequest
3 голосов
/ 09 марта 2010

Я пытаюсь установить порт для файла cookie в ASP.NET (код ниже), но я получаю очень необычную ошибку во время выполнения (ниже кода). Есть мысли?

target.Cookie = new Cookie
{
    Comment = "Test Comment",
    CommentUri = new System.Uri("http://www.tempuri.org"),
    Discard = false,
    Domain = "tempuri.com",
    Expired = false,
    Expires = new DateTime(2015, 12, 31),
    HttpOnly = false,
    Name = "TestCookie",
    Path = "/",
    Port = "443",
    Secure = false,
    Value = "Test Value",
    Version = 1,
};

Исключение:

System.Net.CookieException: The 'Port'='443' part of the cookie is invalid..

Edit: Извините, я хотел упомянуть, что также попытался использовать Port = "80", но безуспешно.

Ответы [ 3 ]

1 голос
/ 23 марта 2010

К сожалению, я так и не нашел хорошего решения для этого. Все, что я сделал, это удалил определение порта. Я заметил что-то в спецификации W3C для файлов cookie, касающихся портов, и, если я вспомню, файлы cookie версии 2 не поддерживают спецификацию порта. Я попытался создать cookie без порта, затем установить порт позже, но безуспешно. Я продолжаю получать исключение времени выполнения ...threw exception: System.Net.CookieException: The 'Port'='80' part of the cookie is invalid..

Извините, это не помогло ...

1 голос
/ 22 декабря 2016

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

port = @"""80,8080"""

"... В противном случае значение должно быть строкой в ​​двойных кавычках, которая содержит значения портов, разделенные запятыми. "

Документы MSDN для свойств порта

1 голос
/ 09 марта 2010

Порт 443 используется для соединений SSL, однако для свойства Secure установлено значение false. Если вы хотите использовать порт 443, укажите Secure = true.

...