2

我在另一个论坛.NET 中遇到了一个间歇性问题,论坛刚刚关闭。两次发生之间通常至少一周,通常更多。该网站的最后一次发生在 4 月 30 日,然后又是 5 月 29 日(这次差距很大,可能是因为我主动重启网站以避免在我离开和离线时发生事件,因此无法立即解决问题)。当网站重新启动时,问题总是会消失。

我正在运行 YAF 1.9.6.1,我得到的错误是:

Server Error in '/' Application.
Configuration Error
Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.

Parser Error Message: Thread was being aborted.

Source Error:


Line 157: <providers>
Line 158: <clear />
Line 159: <add connectionStringName="yafnet" applicationName="YetAnotherForum" name="YafMembershipProvider" requiresUniqueEmail="true" useSalt="true" type="YAF.Providers.Membership.YafMembershipProvider" />
Line 160: </providers>
Line 161: </membership>


Source File: D:\Inetpub\ftproot\MW\paydirt\www.paydirt.co.nz\web.config Line: 159

Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.272

万一有什么影响...

  • YAF 论坛与基于Composite C1 CMS的站点(www.paydirt.co.nz)并排在同一个站点内。
  • 基于 CMS 的主站点永远不会关闭,只有 YAF 论坛页面(实际上我使用 CMS 的“重新启动服务器”工具来恢复论坛)。
  • 该站点采用共享托管计划,我不知道确切的服务器设置细节,但使用的是 IIS 6,我怀疑某种服务器场。
  • 似乎涉及时间组件,因为它总是在网站重新启动后的某个时间发生。所以我一直在主动重启网站来解决这个问题。

我很高兴听到有关可能导致此问题的任何建议/想法,因为它已经持续了很长时间。论坛有一个讨厌的习惯,主要是在我周末和离线时关闭。

提前感谢您的帮助,加文

4

1 回答 1

0

问题是 YAF.NET 全局使用 HttpApplication 来保存连接字符串。回想起来,HttpApplication 是存储配置数据的单例实例的糟糕地方。偶尔会发生碰撞和故障。

提交的修复:https ://github.com/YAFNET/YAFNET/commit/163e0c016087d4c2b8b625d807ce0b1eaa417195

使用全局 ConcurrentDictionary 而不是 HttpApplication 来存储成员资格提供程序的连接字符串。

于 2014-01-23T04:11:01.133 回答