電腦上的chrome一有新版本,就升級到了新版,一般使用沒什么問題,然后iis express調試 .net core應用時就出了問題,cookie無法保存,導致頁面間 [TempData]傳遞失效。
回想之前遇到過此問題,是通過設置在瀏覽器地址欄里輸入:chrome://flags/,搜索same-site,如圖所示 將前兩項 禁用 即可。
以上為舊版
然而,chrome91版卻找不到這兩項了:
以上為chrome91,SameSite by default cookies和 Cookies without SameSite must be secure兩項找不到了。
老的辦法不能用了,Edge試了下也是不行。換舊版,換Firefox不想換,怎么辦呢?找了下Cookie samesite的問題原因,就想在應用本身設置上解決。
解決辦法:
修改配置,打開IIS express的SSL端口,用https訪問問題就解決了
iis express配置在launchsettings.json文件中,位置如下圖:
launchsettings.json,修改其中的端口號,從0改為一個非0數字,注意不能被其他應用占用。這樣就解決了cookie 本地不能保存問題。
"iisSettings": { "windowsAuthentication": false, "anonymousAuthentication": true, "iisExpress": { "applicationUrl": "http://localhost:4536/", "sslPort": 44335 //0->44335,修改此項可以解決cookie在Chrome91無法保存的問題 } },