C# Net cookie在生产中有价值,但在本地主机上没有价值
我有一个cookie,其中包含一个tmp文件名,用于后端处理C# Net cookie在生产中有价值,但在本地主机上没有价值,c#,.net,cookies,C#,.net,Cookies,我有一个cookie,其中包含一个tmp文件名,用于后端处理 try { var cookie = new HttpCookie("TargetExcelFile") { Name = "TargetExcelFile", Path = "/", Secure = true, Expires = DateTime.Now.AddDays(1d), Val
try {
var cookie = new HttpCookie("TargetExcelFile") {
Name = "TargetExcelFile",
Path = "/",
Secure = true,
Expires = DateTime.Now.AddDays(1d),
Value = file
};
Response.Cookies.Add(cookie);
} catch (Exception e) {
throw new Exception("Create file cookie failed: " + e.Message);
}
在生产环境中,它可以正常工作,但在本地主机上,浏览器中的值为空。我可以设置断点,并在Response.Cookies.Addcookie中查看cookie在这两种情况下都有一个值;线路
在本地主机上运行时,会创建cookie,但浏览器中没有值
我认为安全标志可能是localhost上的一个问题,因此我做了以下操作:
try {
var cookie = new HttpCookie("TargetExcelFile") {
Name = "TargetExcelFile",
Path = "/",
#if DEBUG
Secure = false,
#else
Secure = true,
#endif
Expires = DateTime.Now.AddDays(1d),
Value = file
};
Response.Cookies.Add(cookie);
} catch (Exception e) {
throw new Exception("Create file cookie failed: " + e.Message);
}
。。。这没用
想法?httpCookies节点上的域属性可能设置为特定域。删除用于开发的域名:
<httpCookies httpOnlyCookies="true" requireSSL="false" />
此设置位于system.web下的web.config文件中
查看中的更多信息。谢谢David!工作得很有魅力。