2017-02-02 87 views
0

我有一個使用身份驗證過濾器的MVC Web API 2.0 Web服務。這個博客的代碼非常多。 https://www.asp.net/web-api/overview/security/authentication-filtersIIS返回500代碼,而代碼返回401

但是最近API開始出現了。當提供不正確的憑證時,它將返回一個500而不是401。此代碼已運行數月,並且沒有發生代碼更改。所以我做的第一件事就是檢查在IIS 10中本地運行的解決方案,它工作正常。 但是,服務器運行IIS 7.5不斷髮送錯誤的錯誤代碼。我通過將Visual Studio附加到w3w.exe進程來調試服務器中的代碼,並且不會引發異常。實際上,我能夠看到返回401的代碼正確執行。同時設置調試器設置以捕獲正在播放的任何異常,但仍然沒有得到任何異常。

在我看來,這似乎是一個IIS配置問題,最近服務器得到了一個新的證書,並作出了改變,重定向http請求到https。 我查看了日誌文件,看到請求正在處理401

2017-02-02 05:39:09 W3SVC4 P4850772 69.174.252.42 GET/mobile_api/api/login - 443 - 73.204.143.208 HTTP/1.1 PostmanRuntime/3.0.9 - - 「mysite.com」401 0 0 261 313 109

所以我不能指出什麼配置導致客戶端收到500時,它應該是一個401.任何幫助非常感謝。提前致謝。

回答

0

它已經有一段時間了,但我的問題已得到解決,我以爲我會分享它。問題來自運行一個4.5 .net版本api作爲2.0 .net版本內的web應用程序。我真的不知道細節。但是,對於.net 4.5來說,母公司遷移解決了這個問題,而不需要改變API。