最近在我的项目中,每次调试ASP.NET MVC应用程序时,我都开始捕获此错误。

c# - Asp.net MVC应用程序始终以403错误开头-LMLPHP
(来源:cs629321.vk.me

我已经尝试过的东西。


在web.config中关闭或打开“默认文档”
在web.config中关闭或打开“目录浏览”。启用时,它只会列出网站目录。
在web.config中关闭或打开“ runAllManagedModulesForAllRequests”。
在我的.NetFramework文件夹中执行aspnet_regiis –i
在IIS管理器中使用处理程序进行操作


有趣的是,更改了web.config中的任何属性并重新加载页面后,它就可以工作了。
我不能确切地说,我是怎么得到的,我只是在开发项目。

UPD1:当我从VS运行它时,它发生了。

最佳答案

每次调试ASP.NET MVC应用程序时。


隐藏在微小的屏幕截图中:


  403.1 Web服务器配置为不列出此目录的内容


您的MVC站点未针对VS调试启动正确配置,或者VS没有从MVC项目启动。

要么

您的路由配置不正确。

如果在不调试时该站点可以正常工作,则ISAPI / web.config将被正确配置。


如果您有多个项目,请右键单击MVC项目,然后选择“设置为启动项目” [这种情况可能已经存在,否则会出现其他错误]
右键单击MVC项目,选择属性
选择网站(在左侧)
更改开始动作


在VS2012中:默认情况下为“当前页面”-MVC没有这样的“页面”,因此此选项并不总是有用。

您可以将其更改为“开始URL”,并在不进行调试时将与浏览器中可用的URL相同。

就个人而言,我始终将此设置为“不打开页面”。等待请求...”,如果您正在使用“使用本地IIS Web服务器”,则效果很好,但首选项不同。使用此选项,您可以在VS中开始调试(不自动打开页面),然后切换回浏览器并刷新页面/单击按钮等。对于双显示器也很好用:)

如果上述方法不起作用,请使用浏览器中可用的URL更新问题(减去私有信息,例如主机名/项目名称)-403.1中的URL已显示在图像中-以及您当前的RouteConfig或路由属性如果使用MVC5。

关于c# - Asp.net MVC应用程序始终以403错误开头,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30887902/

10-12 12:39
查看更多