"The resource cannot be found" 在 IIS 托管的 asp.net Web 应用程序中打开页面时
"The resource cannot be found" when opening a page in IIS hosted asp.net web application
我正在使用 IIS 8.5 将 Web 应用程序 (.Net 4.5) 托管到远程服务器。该应用程序在本地和远程 IIS 上运行良好,但是有一个页面“/Reports/ReportsMain.aspx”导致错误 "The resource cannot be found." 我确保该页面存在。
我还确保应用程序池的 .Net 版本设置为 4。0.However 我注意到以下内容:
1- 当我第一次远程访问这个页面时,我弹出了一个浏览器 "Login",尽管这里根本不应该进行身份验证
2- 错误页面显示在底部 "Version Information: Microsoft .NET Framework Version: 2.0, ASP.NET Version: 2.0 " 尽管我已将应用程序池设置为 4.0
可能是什么问题?
一些尝试
- 确保 IIS 中没有捕获请求的重复站点
- 重新启动 IIS 绝不是一个坏选择
- 将 web.config 本身设置为目标框架 4.0 而不是 2.0
通常当这种情况发生在它在本地工作正常但在部署时却不是的情况下,它总是证明是第三项,web.config 配置不匹配。希望这对您有所帮助!
我遇到了这个问题。
另一个解决方案可以是更改应用程序池设置:
转到与您的应用程序相关的应用程序池。单击高级设置。更改 "Enable 32-Bit Application"
我刚刚 运行 进入了这个响应,结果发现它是由 WhosebugException
内部的一个据称无法找到的动作引起的。我能够通过使用 visual studio 调试器附加到 IIS 来看到这一点。去搞清楚。不过我在做 POST。
正如 Seany84 在上面的评论中所解释的那样,如果您已从 2.0 迁移到 4.0,很可能您的 webconfig 包含一些与新版本不兼容的标签。在我的例子中,有一个 'applicationSettings' 部分导致了问题。从 webconfig 中删除此标记后,我的 webservis 开始正常 运行。
当你得到
The resource cannot be found.
服务器上的错误但是它在本地工作正常 - 这可能是由于您的服务器 运行 磁盘不足 space 。导航到服务器并检查目录结构以查看文件是否存在。另请检查您的日志消息以获取更多详细信息。
对 wwwroot 的文件夹权限。
添加 IUSR 与 (Read & execute , Read)
添加(机器名)\IIS_IUSRS(读取&执行,读取)
如果IIS没有访问该文件的权限,您将被阻止
我遇到了这个问题,我按照以下方式解决了它,
确保您在网络配置中没有任何错误,
为了找到错误转到
IIS > 您的应用程序 > 管理应用程序 > 浏览
将在 Internet Explorer 中打开一个页面,
你会在这里发现错误,修复它并重新启动应用程序它会工作
我能够通过将 IIS 站点绑定 'Host Name' 留空来解决我的问题。
所有答案我都试过了,都很有用。但在我的情况下,在更改这些设置后重新启动我的机器(不仅仅是 IIS)。为我工作
我正在使用 IIS 8.5 将 Web 应用程序 (.Net 4.5) 托管到远程服务器。该应用程序在本地和远程 IIS 上运行良好,但是有一个页面“/Reports/ReportsMain.aspx”导致错误 "The resource cannot be found." 我确保该页面存在。 我还确保应用程序池的 .Net 版本设置为 4。0.However 我注意到以下内容:
1- 当我第一次远程访问这个页面时,我弹出了一个浏览器 "Login",尽管这里根本不应该进行身份验证
2- 错误页面显示在底部 "Version Information: Microsoft .NET Framework Version: 2.0, ASP.NET Version: 2.0 " 尽管我已将应用程序池设置为 4.0
可能是什么问题?
一些尝试
- 确保 IIS 中没有捕获请求的重复站点
- 重新启动 IIS 绝不是一个坏选择
- 将 web.config 本身设置为目标框架 4.0 而不是 2.0
通常当这种情况发生在它在本地工作正常但在部署时却不是的情况下,它总是证明是第三项,web.config 配置不匹配。希望这对您有所帮助!
我遇到了这个问题。
另一个解决方案可以是更改应用程序池设置:
转到与您的应用程序相关的应用程序池。单击高级设置。更改 "Enable 32-Bit Application"
我刚刚 运行 进入了这个响应,结果发现它是由 WhosebugException
内部的一个据称无法找到的动作引起的。我能够通过使用 visual studio 调试器附加到 IIS 来看到这一点。去搞清楚。不过我在做 POST。
正如 Seany84 在上面的评论中所解释的那样,如果您已从 2.0 迁移到 4.0,很可能您的 webconfig 包含一些与新版本不兼容的标签。在我的例子中,有一个 'applicationSettings' 部分导致了问题。从 webconfig 中删除此标记后,我的 webservis 开始正常 运行。
当你得到
The resource cannot be found.
服务器上的错误但是它在本地工作正常 - 这可能是由于您的服务器 运行 磁盘不足 space 。导航到服务器并检查目录结构以查看文件是否存在。另请检查您的日志消息以获取更多详细信息。
对 wwwroot 的文件夹权限。
添加 IUSR 与 (Read & execute , Read)
添加(机器名)\IIS_IUSRS(读取&执行,读取)
如果IIS没有访问该文件的权限,您将被阻止
我遇到了这个问题,我按照以下方式解决了它,
确保您在网络配置中没有任何错误,
为了找到错误转到
IIS > 您的应用程序 > 管理应用程序 > 浏览
将在 Internet Explorer 中打开一个页面,
你会在这里发现错误,修复它并重新启动应用程序它会工作
我能够通过将 IIS 站点绑定 'Host Name' 留空来解决我的问题。
所有答案我都试过了,都很有用。但在我的情况下,在更改这些设置后重新启动我的机器(不仅仅是 IIS)。为我工作