«Предотвращение выполнения данных» убивает (VS2008) локальный сервер разработки ASP.Net (он же Кассини) в Vista 64

Иногда я обнаруживаю, что при отладке приложения ASP.Net (написанного в Visual Studio 2008, работающего в 64-разрядной версии Vista) локальный сервер разработки ASP.Net (т. Е. «Cassini») перестает отвечать.

Часто появляется сообщение о том, что «Предотвращение выполнения данных (DEP)» убило WebDev.WebServer.exe

Журналы событий просто говорят мне, что "WebDev.WebServer.exe перестал работать"

Я слышал, что эта «проблема» чаще возникает в 64-битной Vista, потому что DEP включен по умолчанию. Следовательно, отключение DEP может «решить» проблему.

Но мне интересно:

Есть ли известная ошибка / ситуация с Cassini, которая заставляет DEP завершить процесс?

Какова же практическая опасность отключения функции предотвращения выполнения данных?

21.08.2008 04:50:13
5 ОТВЕТОВ
РЕШЕНИЕ

Единственный способ узнать наверняка - это покопаться в источнике Cassini и посмотреть, есть ли области, где он генерирует код в куче, а затем выполняет его, не снимая флаг NX.

Однако вместо этого почему бы не использовать IIS?

РЕДАКТИРОВАТЬ:

Опасность отключения DEP заключается в том, что вы открываете дыры в безопасности. DEP работает, не позволяя выполнить произвольно сгенерированный код в куче. Это помогает предотвратить вставку кода вредоносными программами в сегменты данных легальных программ.

3
21.08.2008 05:15:01

Вы на коне, мне стало лучше (7), Кассини осталась паршивой.

Так что просто запустите это приложение на iis с заголовком узла и записью файла узла.

2
21.08.2008 05:18:09

При необходимости вы можете исключить некоторые программы из DEP.

Как Джонатан

упоминает, что это открывает любые уязвимости, которые может иметь приложение.

1
23.05.2017 10:27:42
webdev.webserver.exe не может быть удален из DEP в Windows
pauliephonic 30.06.2009 10:04:20

Спасибо за ответы. Я полагаю, что в эпоху .net 1.x у меня появилось такое отвращение к IIS, что я отказывался использовать его повторно - до сих пор.

в сторону: выбирая между двумя одинаково приемлемыми ответами от ЧанЧана и Джонатана, я произвольно пометил Джонатана как «принятый», потому что а) он вошел первым и б) его повторение в настоящее время ниже.

0
21.08.2008 06:51:00

Использование IIS в Visual Studio не является проблемой в заднице, как это было в 1.1 / VS02 / 03 дней. Есть много веских причин, чтобы предпочесть IIS серверу Cassini (статьи Доминика Байера ):

Кассини считают вредным
Еще одна причина, почему я бы не рекомендовал Кассини

Доминик - «человек», когда дело доходит до IIS и безопасности.

При использовании IIS для веб-приложения я всегда сначала создаю приложение в IIS, указываю его в нужную папку, а затем получаю VS для создания проекта. Это означает, что вы не загромождаете c: \ inetpub \ wwwroot своими веб-приложениями.

Конечно, теперь у нас есть IISExpress, который, если вы ориентируетесь на IIS7.x, является очевидным выбором для разработки приложений ASP.NET в Visual Studio.

1
1.06.2012 23:38:39