Asp.net MVC应用程序总是以403错误开始

时间:2015-06-17 09:41:48

标签: c# asp.net asp.net-mvc iis

最近,在我的项目中,每次调试ASP.NET MVC应用程序时都会遇到此错误。

Error image http://cs629321.vk.me/v629321461/2f53/Od87jHZZr4Y.jpg

事情,我已经尝试过了。

  1. 关闭或开启"默认文件"在web.config
  2. 关闭或开启"目录浏览"在web.config中。当它开启时,它只列出网站目录。
  3. 关闭或开启" runAllManagedModulesForAllRequests"在web.config。
  4. 在我的.NetFramework文件夹中执行aspnet_regiis –i
  5. 在IIS管理器中使用处理程序进行操作
  6. 有趣的是,在更改web.config中的任何属性并重新加载页面后,它可以正常工作。 我无法确切地说,我是如何得到这个的,我只是在开发我的项目。

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

2 个答案:

答案 0 :(得分:1)

  

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

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

  

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

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

OR

您的路线配置不正确。

如果在您未进行调试时站点正常工作,则将正确配置ISAPI / web.config。

  1. 如果您有多个项目,请右键单击MVC项目,然后选择“设置为启动项目”' [这可能已经是这种情况,否则你会得到一个不同的错误]
  2. 右键单击MVC项目,选择属性
  3. 选择网页(左侧)
  4. 更改开始操作
  5. 在VS2012中:默认为“当前页面”' - MVC没有"页面"因此,这个选项并不常用。

    您可以将其更改为“开始网址”。当你没有调试时,将相同的网址放在你的浏览器中。

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

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

答案 1 :(得分:0)

我知道我要回答一个5岁的问题,但也可能会给出我的意见,因为我也面临着同样的问题,并且由于Visual Studio {{1} }信息消息,指出CA1822。事实证明,将Member Application_Start does not access instance data and can be marked as static (Shared in VisualBasic)选择器放在static方法中是一个很糟糕的主意。