我正在尝试在ASP.NET中设置cookie的端口(下面的代码),但是我在运行时(在代码下面)得到一个非常不寻常的错误。有什么想法吗?
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..
编辑: 对不起,我想提一下,我也试过Port =“80”但没有成功。
答案 0 :(得分:1)
端口443用于SSL连接,但您将Secure属性设置为false。如果要使用端口443,请指定Secure = true。
答案 1 :(得分:1)
不幸的是,我从来没有找到一个很好的解决方案。我所做的就是删除端口定义。我确实注意到W3C规范中有关端口的cookie,如果我记得,版本2 cookie不支持端口的规范。我尝试在没有端口的情况下创建cookie,然后稍后设置端口,但没有运气。我继续获得...threw exception: System.Net.CookieException: The 'Port'='80' part of the cookie is invalid..
对不起,这不是更多的帮助...
答案 2 :(得分:1)
我迟到了但是遇到了类似的问题,并且必须在逗号分隔的双引号内设置端口。
port = @"""80,8080"""
“... 否则,该值必须是双引号字符串,其中包含用逗号分隔的端口值。”