找不到 ASP.NET MVC 应用程序的 IIS 7.5 404
IIS 7.5 404 not found for ASP.NET MVC application
我在这里看到过许多类似的情况,但 none 与我的完全匹配,不幸的是,none 的答案解决了我的问题。所以,这里什么都没有。
首先,我的新 MVC 前端和 WebAPI 项目在我的本地 PC 上通过 Visual Studio 运行 时工作正常。问题是当我尝试将项目(使用多种方法:msdeploy、ftp、文件系统复制到服务器)发布到登台服务器时。我知道服务器配置正确,因为我在同一台服务器上有几个其他 WebUI(MVC)/WebAPI 应用程序 运行,部署方式完全相同,使用完全相同的技术堆栈(直到版本)。到目前为止,这是我尝试过的:
- 我已验证应用程序已部署到服务器上的正确文件夹中,并且 IIS 中的虚拟路径 --> 应用程序指向正确的物理位置
- 我已验证该应用程序设置为在 applicationpoolidentity
下的 asp.net 4.0 集成模式中使用专用应用程序池 运行
- 已授予应用程序池的 IUSR 用户和身份 read/execute 访问虚拟路径和所有 subfolders/files
- 我已经尝试了我在这里看到的关于在 web.config 文件中对 ExtensionlessUrlHandler-Integrated-4.0 处理程序使用 verb="*" 的建议,但它没有用
- IIS日志显示404错误为404 0 0 62;查找 win32 状态代码 (62) 提供:"space to store the file waiting to be printed is not available on the server" 这似乎不适用于我的情况(检索 here)
以下是 IIS 日志文件中输出的(编辑)副本:
2015-01-16 17:54:59 X.X.X.X GET /Accounts/Alpha/ - 443 - X.X.X.X Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/39.0.2171.95+Safari/537.36 - 404 0 0 62
无论我尝试通过服务器本身(尝试了 FQDN 和本地主机)还是我的开发机器访问 URL,都会发生这种情况。机器上的事件日志中没有与 IIS 相关的错误。如果有人可以提供一些额外的见解,我将非常感激,因为这让我难以自拔。我不明白它如何适用于服务器上的所有其他应用程序,但我发现配置没有差异。
提前致谢!
这让我很痛苦。
<system.webServer>
.....
<modules runAllManagedModulesForAllRequests="true" />
.....
</system.webServer>
也许可以试试
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="BundleModule" />
<add name="BundleModule" type="System.Web.Optimization.BundleModule" />
</modules>
</system.webServer>
尝试在目录中放入一个 html 文件并访问它,如果无法访问它肯定是您的部署设置或 IIS 有任何问题,请尝试重新创建目录结构:)希望对你有帮助。
我在这里看到过许多类似的情况,但 none 与我的完全匹配,不幸的是,none 的答案解决了我的问题。所以,这里什么都没有。
首先,我的新 MVC 前端和 WebAPI 项目在我的本地 PC 上通过 Visual Studio 运行 时工作正常。问题是当我尝试将项目(使用多种方法:msdeploy、ftp、文件系统复制到服务器)发布到登台服务器时。我知道服务器配置正确,因为我在同一台服务器上有几个其他 WebUI(MVC)/WebAPI 应用程序 运行,部署方式完全相同,使用完全相同的技术堆栈(直到版本)。到目前为止,这是我尝试过的:
- 我已验证应用程序已部署到服务器上的正确文件夹中,并且 IIS 中的虚拟路径 --> 应用程序指向正确的物理位置
- 我已验证该应用程序设置为在 applicationpoolidentity 下的 asp.net 4.0 集成模式中使用专用应用程序池 运行
- 已授予应用程序池的 IUSR 用户和身份 read/execute 访问虚拟路径和所有 subfolders/files
- 我已经尝试了我在这里看到的关于在 web.config 文件中对 ExtensionlessUrlHandler-Integrated-4.0 处理程序使用 verb="*" 的建议,但它没有用
- IIS日志显示404错误为404 0 0 62;查找 win32 状态代码 (62) 提供:"space to store the file waiting to be printed is not available on the server" 这似乎不适用于我的情况(检索 here)
以下是 IIS 日志文件中输出的(编辑)副本:
2015-01-16 17:54:59 X.X.X.X GET /Accounts/Alpha/ - 443 - X.X.X.X Mozilla/5.0+(Windows+NT+6.1;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/39.0.2171.95+Safari/537.36 - 404 0 0 62
无论我尝试通过服务器本身(尝试了 FQDN 和本地主机)还是我的开发机器访问 URL,都会发生这种情况。机器上的事件日志中没有与 IIS 相关的错误。如果有人可以提供一些额外的见解,我将非常感激,因为这让我难以自拔。我不明白它如何适用于服务器上的所有其他应用程序,但我发现配置没有差异。
提前致谢!
这让我很痛苦。
<system.webServer>
.....
<modules runAllManagedModulesForAllRequests="true" />
.....
</system.webServer>
也许可以试试
<system.webServer>
<modules runAllManagedModulesForAllRequests="true">
<remove name="BundleModule" />
<add name="BundleModule" type="System.Web.Optimization.BundleModule" />
</modules>
</system.webServer>
尝试在目录中放入一个 html 文件并访问它,如果无法访问它肯定是您的部署设置或 IIS 有任何问题,请尝试重新创建目录结构:)希望对你有帮助。