Согласно 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!");
}
}
Решения, которые я видел, включают одно из следующих:
- Сделайте то же, что и Айенде, и «напишите мою собственную HttpUtility (ну, возьмите ту из Mono и измените ее), чтобы избежать этой ошибки».
- или определить, помогает ли вместо этого использование HttpEncoder.Default. Я пытаюсь понять, как лучше это сделать.
- или используйте Uri.EscapeDataString согласно Server.UrlEncode против HttpUtility.UrlEncode
Может быть, это не лучший мой день для гугла, но как реализовать HttpEncoder.Default?
Рекомендации?