2017-02-02 63 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。