Кэширование приложения блокирует сбой IIS - PullRequest
1 голос
/ 04 марта 2011

У меня проблема с моей средой разработки, когда любые вызовы CacheFactory блока приложения кэширования приводят к сбою IIS. Я создал очень простое веб-приложение, которое вызывает сбой IIS при каждой попытке его запуска, но приложение прекрасно работает на веб-сервере Visual Studio.NET.

Следующий код вызывает сбой приложения при работе под IIS:

protected void Page_Load(object sender, EventArgs e)
{
    try
    {
        ICacheManager cm = CacheFactory.GetCacheManager("foo");
        Response.Write(cm.GetHashCode());
    }
    catch(Exception ex)
    {
        Response.Write(Server.HtmlEncode(ex.ToString()));
    }
}

Я как бы цепляюсь за соломинку, но кто-нибудь видел подобное поведение? Некоторое время я видел «Попытка чтения или записи защищенной памяти. Это часто указывает на то, что другая память повреждена». ошибки, но сейчас я просто получаю сбои. В приведенном выше примере кода, когда я запускаю под IIS, перехват не достигается, потому что процесс w3wp.exe просто терпит неудачу. Когда это происходит, я получаю следующую запись в журнале событий:

Процесс, обслуживающий пул приложений WebApplication1 потерпел смертельный исход ошибка связи с виндой Служба активации процессов. Идентификатор процесса был «1944». Поле данных содержит номер ошибки.

Я уже пытался переустановить Enterprise Library и перезапустить aspnet_regiis.exe безрезультатно. Я также пытался удалить роль веб-сервера и переустановить ее, но это тоже не сработало.

Некоторые заметки о моей среде разработки:

  • Запуск VS.NET 2010 SP1 Beta на Windows Server 2008 R2 x 64 Web Edition в VirtualBox 4.0.4
  • Использование Enterprise Library 5.0
  • До недавнего времени все на этом сервере разработки работало нормально.
  • На этом этапе предотвращение выполнения данных было отключено с помощью bcdedit.exe

EDIT

Я сузил эту проблему до проблемы .NET 4.0 Framework. Когда я создаю свое веб-приложение на платформе 3.5 Framework, оно работает как положено, но когда я делаю сборку на 4.0 Framework, происходит сбой IIS при запуске веб-приложения.

1 Ответ

4 голосов
/ 04 марта 2011

Если другие экземпляры работают, вы можете попробовать восстановить фреймворк 4.0 на этом.

см .: https://superuser.com/questions/185159/how-do-i-repair-the-net-framework-on-windows-7
и
http://blogs.msdn.com/b/astebner/archive/2010/05/12/10011664.aspx

...