Мы столкнулись со странным случаем, когда вызов из асинхронного c метода в ResourceManager.GetString зависает и время ожидания истекает примерно через 2 минуты.
До сих пор мы сталкивались с этим только на одном сервере, и нормально работает нормально Сервер - Windows Дата-центр Server 2016.
Приложение работает на IIS и основывается на net471 (OData)
Код:
public static string GetText(int languageId, int textId)
{
if (!CultureInfoLazy.Value.ContainsKey(languageId))
return null;
var key = $"LI{textId}";
//Hangs here:
return LabelInfoCore.ResourceManager.GetString(key, CultureInfoLazy.Value[languageId]);
}
private static async Task<string> GetTextAsync(int languageId, int textId)
{
//..some stuff
var labelInfoRow = LabelInfoReader.GetText( languageId, textId);
//..some stuff
return list.FirstOrDefault(x => x.ID == textId)?.Text;
}
The LabelInfoCore.ResourceManager is autogenerated by VS:
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Gecko.ObjectModel.LabelInfo.LabelInfoCore", typeof(LabelInfoCore).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
Есть предложения?