【问题标题】:IIS 7.5, Windows 7 Professional and MVC4IIS 7.5、Windows 7 专业版和 MVC4
【发布时间】:2017-06-03 05:59:59
【问题描述】:

我正在尝试加载我的一个 MVC4 应用程序,但遇到了困难。这是在运行 Windows 7 Pro SP1、IIS 7.5、VS2015、.NET 4.6.1 作为目标 .NET 版本和 MVC4 的本地开发环境中。在这个特定的应用程序上,我收到 HTTP 错误 403.14 - 禁止访问。我有其他 MVC 应用程序在同一个 AppPool 中运行并且这些应用程序正确加载。无需在 IIS 中打开目录浏览,我不想这样做。在我的 web.config 的 system.webServer 部分中,我有

<remove name="ExtensionlessUrlHandler-Integrated-4.0" /> <remove name="OPTIONSVerbHandler" /> <remove name="TRACEVerbHandler" /> <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />

但即使我删除了上面的代码块,我仍然会收到 403.14 错误。 我试过跑步:

%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_regiis.exe -ir

但这并没有解决问题。我还尝试了微软为 ExtensionlessUrlHandler 提供的修补程序,但这也不起作用。我尝试设置 runAllManagedModulesForAllRequests="true" 也不起作用,我不想在生产中启用它。我还尝试如下添加 UrlRoutingModule-4.0,但这也没有解决问题。

<system.webServer> <modules> <remove name="UrlRoutingModule-4.0" /> <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" /> </modules> </system.webServer>

我的 RouteConfig 不会使用 {id} 更改任何内容。

我确保已安装 .NET 4.6.1 以及 .NET 可扩展性。我比较了工作应用程序和非工作应用程序在 IIS 中的配置,并没有发现任何明显的差异。我还比较了文件夹权限。

有人遇到过这样的问题吗?我错过了什么吗?

【问题讨论】:

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


    【解决方案1】:

    在回家的路上,我开始考虑我比较的所有内容,并意识到我没有比较的一件事是 Web 应用程序根目录中的实际目录和文件。比较后,我在应用程序的根目录中发现了一个名为 PrecompiledApp.config 的文件,我无法加载该文件不在其他可用应用程序的根目录中。一旦我删除了应用程序加载的文件。

    【讨论】:

      【解决方案2】:

      希望对您有所帮助。

      1.Check Directory Browsing of your website if it is enable or not.
         Just Click your deployed website and double click Directory browsing tab.
      2.Check project framework in application pool, it must be the same.
      3. Check also user permission of your website.
      

      索引控制器:

      public ActionResult Index()
      {       
         return View("~/Views/Home/About.cshtml");
      }
      

      public ActionResult Index()
      {
          return View();
      }
      

      祝你好运!

      【讨论】:

      • 我已经完成了所有三个... 1. 我启用了目录浏览,但它不加载应用程序,它只是显示一个目录树。 2. 框架匹配。 3. 我检查了权限,它们匹配。
      • 你是否使用了 localhost:2345 之类的端口?你有默认页面吗?如果没有,你需要有一个起始页面。
      • 您还必须在 IIS 中注册 vb.net,例如 msdn.microsoft.com/en-us/library/k6h9cz8h.aspx
      • 我尝试使用该端口,但没有任何区别。我正在使用 MVC,因此没有默认页面,而是默认路由。即使有一个起始页也不能使这项工作正常进行。当 IIS 看到无表达式的 url 时,就像使用 MVC 时的情况一样,它会查看 MVC 引擎的路由表以查看引擎是否可以返回格式正确的 url,然后将页面提供给客户端。我没有使用 Visual Basic,所以用 IIS 注册它并没有多大帮助。在这种情况下,我发布的修复有效。
      • 您的家庭控制器上有索引吗?看看上面的答案。
      猜你喜欢
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 2014-02-04
      • 2014-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多