ASP.NET 在IIS 上為404的狀況

在 vs 上次是post 為正常的,但一旦發布到IIS上之後就變成404了

原本以為是ASP.NET 的問題,但不是

研究幾天之後發現

可能有以下幾種狀況

1. IIS – cookie 設定為自動偵測或URI

從IIS 的LOG 可以查到 以下類似的訊息

10.1.0.3, -, 2/6/2020, 8:36:25, W3SVC2, Ser2012R2-PDM, 172.16.1.1, 15, 179, 552, 302, 0, POST, /test/test_Download/, -,
10.1.0.3, -, 2/6/2020, 8:36:25, W3SVC2, Ser2012R2-PDM, 172.16.1.1, 328, 184, 2100, 404, 0, GET, /test/test_Download/, AspxAutoDetectCookieSupport=1,

URL上面可能會加一個參數”AspxAutoDetectCookieSupport=1″ 造成302並重新執行,ASP.NET MVC 會以為是某一個Ation的參數,但其實沒有所以造成404

將Cookie設定-模式改成”使用Cookie”
ASP.NET web.config 上增加<sessionState mode=”InProc” cookieless=”UseCookies” timeout=”20″/>
並重新啟動即可

將Cookie設定-模式改成”使用Cookie” ,並重新啟動即可
ASP.NET web.config 上增加<sessionState mode=”InProc” cookieless=”UseCookies” timeout=”20″/>

參考:https://shiyousan.com/post/636334877101694142