HttpUtility.UrlEncode и Application_Start

Согласно http://ayende.com/blog/4599/hunt-the-bug , я столкнулся с одним из этих сценариев при этом «Ответ недоступен в этом контексте».

В значительной степени упрощенный, следующий код вызывает исключение в определенных сценариях на Windows Server 2008 / IIS7 / ASP.NET 4.0

public class Global : HttpApplication
{
       public void Application_Start(object sender, EventArgs e)
       {
            HttpUtility.UrlEncode("Error inside!");
       }
}    

Решения, которые я видел, включают одно из следующее:

  1. Сделайте то же, что и Ayende, и «напишите мою собственную HttpUtility (ну, возьмите ту из Mono и измените ее), чтобы избежать этой ошибки»
  2. или определите, поможет ли использование HttpEncoder.Default вместо этого. Я пытаюсь выяснить, как лучше всего это сделать.
  3. или использовать Uri.EscapeDataString согласно Server.UrlEncode vs. HttpUtility.UrlEncode

Может быть, это не лучший мой день поиска в Google, но как реализовать HttpEncoder .По умолчанию?

Рекомендации?

5
задан Community 23 May 2017 в 12:04
поделиться