La “Prevención de ejecución de datos” elimina (VS2008) el servidor de desarrollo ASP.Net local (también conocido como Cassini) en Vista 64

StackOverflow https://stackoverflow.com/questions/19349

  •  09-06-2019
  •  | 
  •  

Pregunta

De vez en cuando, encuentro que mientras depuro una aplicación ASP.Net (escrita en Visual Studio 2008, ejecutándose en Vista de 64 bits), el servidor de desarrollo ASP.Net local (es decir,'Cassini') deja de responder.

A menudo aparece un mensaje que me dice que "Prevención de ejecución de datos (DEP)" ha eliminado WebDev.WebServer.exe

Los registros de eventos simplemente me dicen que "WebDev.WebServer.exe ha dejado de funcionar".

He oído que este "problema" se presenta con más frecuencia en Vista de 64 bits porque DEP está activado de forma predeterminada.Por lo tanto, desactivar el DEP puede "resolver" el problema.

Pero me pregunto:

¿Existe algún error/situación conocida con Cassini que haga que DEP interrumpa el proceso?

Alternativamente, ¿cuál es el peligro práctico de desactivar la Prevención de ejecución de datos?

¿Fue útil?

Solución

La única forma de saberlo con seguridad sería buscar en la fuente de Cassini y ver si hay áreas donde genera código en el montón y luego lo ejecuta sin borrar el indicador NX.

Sin embargo, en lugar de hacer eso, ¿por qué no utilizar IIS?

EDITAR:

El peligro de desactivar DEP es que se abren agujeros de seguridad.DEP funciona al no permitir que se ejecute código generado arbitrariamente en el montón.Esto ayuda a evitar que programas de malware inserten código en los segmentos de datos de programas legítimos.

Otros consejos

Estás en Vista, ha mejorado (7), Cassini sigue siendo una mierda.

Así que simplemente inicie esta aplicación en iis con un encabezado de host y una entrada de archivo de hosts.

Puede otorgar la exclusión de ciertos programas del DEP si lo necesita.

Como jonathan

menciona que esto abre cualquier vulnerabilidad que pueda tener la aplicación.

Usar IIS en Visual Studio ya no es tan doloroso como solía ser en los días 1.1/VS02/03.Hay muchas buenas razones para preferir IIS al servidor Cassini (artículos de Dominick Baier):

Cassini considerada dañina
Otra razón por la que no recomendaría Cassini

Dominick es "el hombre" cuando se trata de IIS y temas de seguridad.

Cuando uso IIS para una aplicación web, siempre creo la aplicación en IIS primero, la apunto a mi carpeta preferida y luego hago que VS cree el proyecto.Esto significa que no terminarás saturando c:\inetpub\wwwroot con tus aplicaciones web.

Por supuesto, ahora tenemos IISExpress, que si apunta a IIS7.x es la opción obvia para desarrollar aplicaciones ASP.NET en Visual Studio.

Gracias por las respuestas.Supongo que desarrollé tal aversión a IIS en la era .net 1.x que me he negado a considerar reutilizarlo... hasta ahora.

aparte:Al elegir entre dos respuestas igualmente aceptables de ChanChan y Jonathan, marqué arbitrariamente la de Jonathan como "aceptada" porque a) obtuvo el primer lugar yb) su reputación actualmente es más baja.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top