我有一个cookie,它包含后端处理的tmp文件名。
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);
}
在生产中它工作正常,但在localhost
上,浏览器中的值为空。我可以设置断点,并看到cookie在Response.Cookies.Add(cookie);
行的两种情况下都有值。
在localhost
上运行时,会创建cookie,但浏览器中没有值。
我认为Secure
标志可能是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);
}
......它没有帮助。
想法?
答案 0 :(得分:1)
可能<httpCookies httpOnlyCookies="true" requireSSL="false" />
节点上的域属性设置为特定域。删除开发的域名:
web.config
此设置位于system.web
下的function deleteDiv() {
$("#buttonDiv").parent().remove(); }
文件中。
在this question中查看更多信息。