Периодическая проблема с YafMembershipProvider - Ошибка конфигурации, сообщенная в web.config

У меня периодически возникает проблема с Another Another Forum.NET, когда форумы просто отключаются. Обычно между событиями проходит не менее недели, обычно больше. Последнее для сайта произошло 30 апреля, а затем еще раз 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 - http://www.paydirt.co.nz/.
  • Основной сайт, основанный на CMS, никогда не отключается, только страницы форума YAF (на самом деле я использую инструмент CMS "Restart Server", чтобы восстановить форумы).
  • Сайт находится в плане общего хостинга, точные детали настройки сервера мне неизвестны, но IIS 6 используется, и я подозреваю, что это своего рода ферма серверов.
  • Здесь присутствует компонент времени, как это всегда происходит после перезапуска веб-сайта. Поэтому я активно перезапускаю веб-сайт, чтобы остановить проблему.

Я был бы рад услышать любые советы / идеи о том, что может быть причиной этого, так как это происходит уже довольно давно. У форумов есть неприятная привычка выходить из строя, когда я уезжаю на выходные и не в сети.

Заранее спасибо за любую помощь, Гэвин

1 ответ

Решение

Проблема заключалась в глобальном использовании YAF.NET HttpApplication для хранения строк подключения. Оглядываясь назад, HttpApplication является плохим местом для хранения одноразовых экземпляров данных конфигурации. Изредка бывали столкновения и сбои.

Исправленные исправления: https://github.com/YAFNET/YAFNET/commit/163e0c016087d4c2b8b625d807ce0b1eaa417195

Используйте глобальный ConcurrentDictionary вместо HttpApplication для хранения строк подключения для поставщиков членства.

Другие вопросы по тегам