2

背景:我正在开发一个产品,它在前端使用 AngularJS,在后端使用 Microsoft Web Api。该网站托管在运行 IIS 的 Windows Server 2012 机器上。我们正在使用 Windows 身份验证连接到机器。

问题:调用各种 API 方法对我和大多数用户来说都完美无缺。但是对于某些用户,他们无法执行某些 API 调用。大多数端点都能正常工作并返回有效数据,但有一些方法甚至永远无法到达。

这是iislog中的错误: 2016-05-26 12:25:23 xx.xx.xxx.xx POST /api/controller/method - 80 domain\user xx.xx.x.xx Mozilla/5.0+(兼容;+MSIE+10.0;+Windows+NT+6.1;+WOW64;+Trident/6.0) http://xxxxxx.com/#/Pagename 500 0 0 514

在谷歌浏览器的控制台中,它说:错误:访问被拒绝。

我已将 api 设置为将所有异常记录到数据库中,并且没有显示错误。所以我的理论是,在尝试执行这些特定的 http 方法时,甚至没有达到 api。

我曾尝试寻找答案,但没有任何运气。有人有什么主意吗?

4

1 回答 1

1

我终于找到了解决问题的方法,抛出的异常是DbEntityValidationException。它被抛出是因为某些用户名太长而无法插入到数据库表中。我自己的一般异常处理没有捕获并正确显示它。我必须按照本指南获取正确的异常记录:

https://stackoverflow.com/a/6258174/3592773

感谢所有的帮助,我希望这可能会在未来对其他人有所帮助。

于 2016-05-27T11:54:28.490 回答