我有一个 MOSS 2007 环境、2 个 Web 服务器和一个 DB 服务器,在两个 Web 服务器之间进行负载平衡。
我最近部署了一个 Web 部件,一段时间内运行良好,但一天后在 Web 服务器 2 上失败了。失败时会收到错误消息:
'A Web Part or Web Form Control on this Page cannot be displayed or imported. The type could not be found or it is not registered as safe’
一旦失败,它将保持这种状态,直到 IIS 重置完成。
另一台 Web 服务器从未出现故障,我尝试强制第二台 Web 服务器故障以重现该问题,但未能成功。我尝试将其置于繁重的 http 流量下,它处理得很好。将其放回池中,大约 7 小时后它再次出现故障。
因此,如果我从受影响的 Web 服务器中删除 Web 部件的 .dll,Web 部件不会停止工作。这是正常现象吗?我检查了站点的 bin 目录和全局程序集,发现服务器上其他任何地方都没有 .dll 的其他副本。
此外,检查 Web 部件库时,如果 Web 部件出现故障,它将出现在库中,但尝试添加新的 Web 部件时,.dll 将不会列出。
我不知道如何从这里继续排除故障甚至修复它,有什么想法吗?
答案1
看来 Web 部件未正确部署到服务器 2。您可以在 Central Admin 中检查这一点:
CA-Operations-Solution Management。在“Status”下,它将告诉您它是否已在整个服务器场中正确部署。
现在,至于为什么,那是另一回事。前端 2 的配置中存在一些问题,阻碍了正确的部署/复制。