1

我正在我的本地机器(Windows 7)上开发,并使用 IIS 7。我通常通过右键单击站点来创建一个新网站 -> 添加新站点。然后通过指向物理文件来做通常的事情,我会停止所有其他我不需要的网站。然后我可以在端口 80 上运行该站点,而不会出现任何绑定冲突。

然后我最近开始做一些 ASP.NET 开发。当我从我的 VS 2010 发布到本地主机时,我可以运行该网站,一切都很好。然后我停止了该站点(asp.net),但我无法启动任何其他站点(甚至不是默认站点)。我不确定为什么。

我开始阅读有关应用程序池的信息,有人说要删除所有应用程序池。因此,我删除了所有应用程序池(默认应用程序池除外),还删除了所有网站(因为它们旁边有一个红色的 x)。

我现在无法启动默认站点,因为重新启动、启动和停止是灰色的。我找不到任何方法来重置 IIS 服务器。我收到的一个错误是;对象标识符不代表有效的对象 iis7

我真的不知道这意味着什么,当我搜索这个错误时,似乎很多人都遇到过这个错误,但在不同的上下文中。

有什么方法可以重置 IIS,以便我可以再次构建简单的网站?我需要卸载 IIS 并重新安装吗?

4

2 回答 2

0

卸载 IIS 并重新安装可能是完成此任务的最简单和最快的方法。

除此之外,请检查事件日志,看看您是否可以在那里找到任何线索。

于 2013-03-04T20:49:26.783 回答
0

您需要确保站点数量与托管它们的应用程序池之间存在一对一的关系。如果它们是托管在 64 位服务器上的 32 位应用程序,则需要在要用于站点的应用程序池上启用此属性(将其设置为 True)。您需要运行:C:\inetpub\AdminScripts>cscript adsutil SET W3SVC/AppPools/Enable32bitapponWin64 1

.NET Framework 显然需要安装,但随后需要单独执行运行 ASP 安装命令的步骤(C:\Windows\Microsoft.NET\Framework\v2.0.xxxx\aspnet_regiis.exe -i)。如果已经存在,请重新安装它们 - 它可能出现故障/损坏。

毕竟,我注意到 IIS 7 使用了这个通用应用程序池身份帐户来运行应用程序池。我创建了一个服务帐户,授予该帐户管理员权限只是为了查看该站点是否可以运行,并将其作为“自定义帐户”添加到应用程序池中。我不再收到 HTTP 503 错误。该帐户应具有“作为服务登录”和“作为批处理作业登录”权限。如果它将使用模拟并输出到 SQL 数据库,则还需要“身份验证后模拟客户端”和“允许本地登录”权限(因此我喜欢先给它管理员权限以查看它是否有效) .

于 2013-08-16T19:37:50.247 回答