0

我的 EPiServer 应用程序抛出以下错误:

具有 siteId 的站点已注册。首先调用 Reset 方法。

在异常发生之前没有代码更改,并且此实例的副本运行没有任何问题。

我的第一次尝试是最明显的,将 web.config 中的站点 ID 更改为其他内容。这没有帮助。但是,更改配置会重新启动应用程序,并在刷新页面后显示另一个异常:

此从站点在验证主许可证信息时失败

再次刷新后,出现第三个异常:

ClassFactory 未初始化

以下刷新带回有关重复站点 ID 的原始异常。

我不知道会发生什么。在谷歌搜索没有带来任何结果。应用程序的每次重新启动(通过 iisreset 或通过配置更改)都会导致站点抛出所有这三个异常,并且总是以相同的顺序:许可证、类工厂和直到下一次重新启动重复的站点 ID。

我将非常感谢任何可以引导我找到解决方案的帮助。

编辑:我正在使用 EPiServer 5

编辑 2:我现在很确定“具有 siteid ... 的站点”异常在这里不相关。这只是以前失败的结果。这是基于异常发生的事情(看起来不太合乎逻辑,但很好):

  1. IIS 已启动
  2. 应用程序到达静态初始化程序并尝试验证主许可证。它失败了,抛出异常并且该站点尚未注册(在数据库中没有在 tblSiteConfig 中创建条目)
  3. 页面已刷新
  4. 应用程序到达静态初始化程序并成功验证许可证,然后注册站点,代码更进一步并在插件初始化方法上失败(类工厂未初始化)
  5. 页面已刷新
  6. 应用程序到达静态初始化程序并再次成功验证许可证,该站点失败,因为它已经注册
  7. 第 6 步一直在进行,直到下一次 IIS 重新启动
4

2 回答 2

0

更改 siteId 后,您需要清除数据库中的一些表。我手头没有 EPi5 数据库,但我记得它至少是 tblSite。

于 2013-04-24T08:59:27.300 回答
0

根据消息,看起来您正在使用 EPiServer 多站点功能。

首先要检查的是/sites/site部分episerver.config- 它们应该包含不同的siteId属性。

接下来,在episerver.framework.config文件中,清除siteHostMapping部分,所以它应该是完全空的:

<siteHostMapping />

然后,一个一个地启动站点。

问题的可能原因是站点启动期间出现异常 - 因此,如果无法修复这些错误,您仍然会遇到类似或相同的问题。请务必打开日志记录并检查日志。

于 2013-04-23T13:07:54.003 回答