【发布时间】:2014-08-18 22:36:46
【问题描述】:
每次我在 IIS 服务器上更新 ASP.NET 应用程序时都会遇到问题。问题是:
- 我收到一条错误消息,告诉我关闭自定义错误
<customErrors mode="Off"/> - TLD 的默认网站重定向无限期地重定向 URL
- 我创建删除并替换了应用程序或重定向
我有一个 ASP.NET 4.5 框架应用程序。我正在使用 Visual Studio 2012 创建 Web 应用程序。我使用的是 Windows Server 2008 R2 64 位,安装了 IIS 7 角色。检查并安装了 IIS 角色的最后一个选项。
一旦 IIS 启动并运行,我在 C:\inetpub\wwwroot 中创建了一个目录,并将我发布的 ASP.NET 应用程序放在我创建的目录中。然后我通过 IIS 管理器添加了应用程序。
之后,我可以从 www.example.com/app 浏览到我的应用程序。当前的应用程序正在运行。由于我希望在 Web 浏览器中键入我的 TLD 的任何人都被重定向,因此我通过默认网站下的 IIS 管理器创建了一个 HTTP 重定向。它在 C:\inetpub\wwwroot 中创建一个 web.config 文件,其中包含重定向。
所有这些都完成后,一切正常。直到我想更新 ASP.NET 代码。我从 C:\inetpub\wwwroot\app 中删除旧文件并复制新文件。在那之后,一切都不再正常了。我试图通过 IIS 删除该应用程序,然后重新添加它。我什至删除了 http 重定向,然后重新添加了它。无论我做什么,我的网站 www.example.com 的根目录和网络应用程序都无法正常工作。我必须删除 IIS 角色并重新安装它。一旦我这样做了,当前的代码就可以工作了,一切都恢复正常了。
谁能告诉我如何在每次都重新安装 IIS 的情况下更新我的代码?
【问题讨论】:
-
告诉您关闭 customErrors 模式的消息并不是您的实际错误。它指示您这样做,因为存在一些潜在错误,但默认情况下它不会显示实际错误,除非您在 localhost 上浏览它(出于安全目的)。关闭 customErrors 是不好的做法(除非它只是暂时的)。相反,实施正确的错误记录,例如Elmah。一旦确定了实际错误是什么,您就可以排除根本原因。
-
我不确定,但您是否尝试在没有您的 web.config 的情况下“更新”(不删除和替换文件)IIS 上的应用程序文件夹?
-
@mason 没有任何错误。删除并重新安装 IIS 后,新更新的代码一切正常
-
不要删除并重新安装 IIS - 尝试获取实际的错误消息,以便找出根本问题(检查服务器上的事件日志,或设置 customErrors=Off。)
-
在 C:\inetpub\wwwroot 中创建目录后,您是否尝试从 IIS 管理器刷新网站,右键单击该文件夹并选择转换为应用程序以避免“混合”应用程序配置和网站配置