Я занимаюсь разработкой веб-приложения ASP.NET, в котором используется AjaxControlkit 3.0.30512.20315. У меня есть ToolkitScriptManager
экземпляр на моей главной странице, в котором есть ScriptReferences
в коллекции CombineScripts
.
Если после iisreset
я получаю доступ к странице по умолчанию от двух разных клиентов, я получаю следующее исключение
[NullReferenceException: Object Reference not set to an instance of an object.]
System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) +143
System.Collections.Generic.Dictionary`2.set_Item(TKey key, TValue value) +11
AjaxControlToolkit.ToolkitScriptManager.GetScriptCombineAttributes(Assembly assembly) +129
AjaxControlToolkit.ToolkitScriptManager.IsScriptCombinable(ScriptEntry scriptEntry) +148
AjaxControlToolkit.ToolkitScriptManager.OnResolveScriptReference(ScriptReferenceEventArgs e) +415
System.Web.UI.ScriptManager.RegisterScripts() +191
System.Web.UI.ScriptManager.OnPagePreRenderComplete(Object sender, EventArgs e) +113
System.Web.UI.Page.OnPreRenderComplete(EventArgs e) +8698462
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1029
Используя .NET Reflector
, я обнаружил, что метод GetScriptCombineAttributes
обращается к static dictionary
, то есть not protected against concurrent access
.
Либо у меня в коде есть условие гонки, либо в AjaxToolkit
.
есть ошибка.
Кто-нибудь может дать мне подсказку об этом?
Заранее спасибо