Вызов System.Web.HttpUtility.HtmlDecode вызывает StackOverflowException

Я унаследовал некоторый код, в котором есть вызов:

var test = HttpUtility.HtmlDecode("google");

вызывает stackoverflow. Вызов WebUtility.HtmlDecode в том же месте отлично работает. Я Googled вокруг, но не нашел ничего о том, почему это может произойти.

Это не веб-приложение, и я вижу, что MSDN говорит об использовании WebUtility в этом случае, но другие источники говорят, что я могу просто добавить ссылку на System.Web, и он будет работать нормально - например, С# HTMLDecode без System.Web? Я создал тестовое приложение, и тот же вызов HtmlDecode отлично работает.

Трассировка стека:

System.Web.dll!System.Web.HttpRuntime.StaticInit()  Unknown
System.Web.dll!System.Web.HttpRuntime.HttpRuntime() Unknown
[Native to Managed Transition]  
[Managed to Native Transition]  
System.Web.dll!System.Web.HttpRuntime.FusionInited.get()    Unknown
System.Web.dll!System.Web.Compilation.BuildManager.InitializeBuildManager() Unknown
System.Web.dll!System.Web.Compilation.BuildManager.GetType(string typeName = "System.Web.Util.HttpEncoder", bool throwOnError = true, bool ignoreCase = false)  Unknown
System.Web.dll!System.Web.Configuration.ConfigUtil.GetType(string typeName = "System.Web.Util.HttpEncoder", string propertyName = "encoderType", System.Configuration.ConfigurationElement configElement = {System.Web.Configuration.HttpRuntimeSection}, System.Xml.XmlNode node = null, bool checkAptcaBit = true, bool ignoreCase = false)   Unknown
System.Web.dll!System.Web.Configuration.ConfigUtil.GetType(string typeName = "System.Web.Util.HttpEncoder", string propertyName = "encoderType", System.Configuration.ConfigurationElement configElement = {System.Web.Configuration.HttpRuntimeSection}, bool checkAptcaBit = true, bool ignoreCase = false)   Unknown
System.Web.dll!System.Web.Configuration.ConfigUtil.GetType(string typeName = "System.Web.Util.HttpEncoder", string propertyName = "encoderType", System.Configuration.ConfigurationElement configElement = {System.Web.Configuration.HttpRuntimeSection}, bool checkAptcaBit = true)    Unknown
System.Web.dll!System.Web.Configuration.ConfigUtil.GetType(string typeName = "System.Web.Util.HttpEncoder", string propertyName = "encoderType", System.Configuration.ConfigurationElement configElement = {System.Web.Configuration.HttpRuntimeSection})   Unknown
System.Web.dll!System.Web.Util.HttpEncoder.GetCustomEncoderFromConfig() Unknown
mscorlib.dll!System.Lazy<System.Web.Util.HttpEncoder>.CreateValue() Unknown
mscorlib.dll!System.Lazy<System.Web.Util.HttpEncoder>.LazyInitValue()   Unknown
mscorlib.dll!System.Lazy<System.Web.Util.HttpEncoder>.Value.get()   Unknown
System.Web.dll!System.Web.Util.HttpEncoder.Current.get()    Unknown
System.Web.dll!System.Web.HttpUtility.HtmlDecode(string s = "Google")   Unknown

Я хотел бы понять источник проблемы, если кто-нибудь знает ответ!

+1
источник поделиться

Посмотрите другие вопросы по меткам или Задайте вопрос