IIS 不會向 IE10 發送 ASP.Net cookie(且僅向 IE10)

IIS 不會向 IE10 發送 ASP.Net cookie(且僅向 IE10)

我有運行 ASP.Net 應用程式的 IIS 7.5 伺服器,由於某種原因,它不會將 ASP.Net 身份驗證 cookie 傳送到 IE10。只有當請求來自 IE10 瀏覽器並且僅透過網路(即從 Web 伺服器本身瀏覽時不會)時,才會發生這種情況。所有其他瀏覽器(Firefox、Chrome、Safari、IE9)都可以正常運作。

問題顯然出在瀏覽器辨識上,因為當我將IE10切換到IE9模式時,cookie確實到達了。另一方面,當我強制其他瀏覽器(例如​​ Firefox)使用代理覆蓋插件來模擬 IE10 時,不會發送 cookie。

無論協定(http 與 https)和伺服器的主機名稱(IP 位址也會發生),都會發生這種情況。

到目前為止,我排除了伺服器應用程式程式碼中的問題,因為我在另一個具有完全相同應用程式的IIS 上進行了類似的設置,該應用程式沒有表現出症狀,因此我認為這可能是IIS 配置中的問題。透過比較兩個系統之間的 IIS 配置,我只看到以下可能相關的差異:

<system.web>
  <clientTarget>
    <add alias="ie5" userAgent="Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 4.0)" />
    <add alias="ie4" userAgent="Mozilla/4.0 (compatible; MSIE 4.0; Windows NT 4.0)" />
    <add alias="uplevel" userAgent="Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.1)" />
    <add alias="downlevel" userAgent="Generic Downlevel" />
  </clientTarget>
</system.web>

我想嘗試更改這些設置,但在 IIS 管理器 UI 中找不到對應的設置。

答案1

(將評論轉換為答案)

我遇到了 IE10 和 ASP.Net 應用程式的問題,結果證明這是 ASP.Net 中的一個錯誤,但我的症狀與 cookie 無關。這讓我發瘋,因為它只會發生在其中一台伺服器上。我遇到了本文由 Scott Hanselman 編寫,並將修補程式套用到伺服器。該修補程式現已作為常規更新發布。這是一個延伸,但也許您應該嘗試在伺服器上執行更新。

相關內容