先前認為 ASP.Net 網站加入 Global.asax 檔, 就可正確地建立 Session.
(參考: Session.IsNewSession 與 Session.SessionID)
不過沒想到 Chrome 瀏覽器很奇怪地會去存取網站的 /favicon.ico, 並在此 .ico 檔不存在時, 建立新的 Session, 導致 Session 的使用與預期不符.
還好解決方案還算簡單:
- 為網站加入 favicon.ico 檔, 以避免 Chrome 因為該檔案產生 404 Error 而造成 Session 的重新建立.
- 在 MVC 專案中, 可在 router中加入一項 favicon.ico 的過濾.
routes.IgnoreRoute("favicon.ico");