2017-08-22 60 views
0

我發佈這個問題,因爲我已經花了很多時間來找到解決方案,並沒有發現任何關於這個。ASP.NET會話丟失在Chrome中

我使用.NETWebAPI作爲後端,並將用戶信息存儲在會話中。

由於任何原因,session丟失在Chrome

我在第一次請求時收到了會話ID設置Cookie,但會話未在Chrome中設置,但在IE中設置。

我試着改變web.config幾次,並改變服務器的配置,但沒有改變。

我使用fetch API來調用我的服務。

回答

0

問題出在fetch上,而不是在服務器端。

奇怪的是,它在IE上工作。顯然IE對抓取API沒有相同的策略。

您必須確保將屬性credentials添加到includesame-origin以使會話保持您的請求。

警告:將憑據放入include在Chrome中引發安全錯誤。 same-origin值解決了我的問題。請求

例子:

fetch(uri,{ 
    method:'GET', 
    credentials:'same-origin' 
}) 
.then() 
.catch() 
0

Fetch默認情況下不發送cookie。如果您的Cookie不是HTTP only,則必須在標題集合中手動設置它們。

+0

啊,但是我發佈此尋求幫助開發者以確定正確的問題(由於獲取的配置,而不是從服務器) – Alexis