HTTP 403.14-端点为/ tests /时禁止

时间:2019-06-16 00:28:10

标签: visual-studio iis asp.net-core

我有一个ASP.Net Core应用程序,该应用程序在Startup.cs中设置了通常的默认路由。我的应用程序有一个TestsController,其中包含一些动作例程,包括一个Index()例程。

今天以前,我在导航至应用程序的/tests//tests/index端点时从未遇到问题。从今天开始,尝试导航到/tests会给我IIS HTTP错误403.14-禁止错误页面。如果我尝试导航到/tests/index,则会得到IIS HTTP错误404.0-找不到页面。

我的应用程序中的所有其他端点似乎都能正常工作。仅仅是/tests个端点失败了。

如果我将控制器从TestsController重命名为TestController(除去“ s”),那么导航到/test/test/index都没有问题。

所以,这听起来像IIS可能正在寻找它认为我要列出的Tests文件夹?但是我可以在Windows资源管理器中看到的唯一Tests文件夹位于obj\Debug\netcoreapp2.2\Razor\Views文件夹中。我不认为IIS可以解决这个问题。

另一个数据点:昨天,我遇到了一个奇怪的问题,VS 2019将加载我的项目,并立即抱怨“ VS使用的进程遇到不可恢复的错误”。我最终发现这是由于我正在使用的标记助手(由于某种未知原因)引起的。删除标签帮助程序代码可以解决该问题。但是,现在我遇到了这个新问题,这令人怀疑。在标签帮助程序问题遗留了某些东西的前提下,我删除了所有的bin和obj文件夹,删除了所有的Nu​​Get软件包,重新引导(几次)并重建了所有内容。运气不好,我仍然无法导航到/tests端点。

编辑:另一个数据点:我只是在另一台机器上尝试了相同的代码,所以它可以正常工作。问题被隔离在一台机器上。

我如何问IIS认为它在哪里找到tests文件夹?

1 个答案:

答案 0 :(得分:0)

这不是非常有用的答案,但这就是我得到的。。。我在MS技术支持上度过了令人沮丧的一周,但没有解决方案。最后,我取消了本地存储库并重新克隆它,问题就消失了。

那真的很奇怪。如果我只是简单地重命名了解决方案及其所有项目的父目录,那么问题就消失了。如果我将目录重命名为其原始名称,则问题再次出现。