with the publicar net how for asp asp.net iis localhost cassini

the - ¿ASP.NET Development Server o Localhost IIS?



set up a hosting environment for asp net core on windows with iis (11)

Actualmente, nuestro equipo de desarrollo configura todos los sitios web en los que están trabajando en IIS en su máquina local. Estamos pensando en cambiar al uso del servidor de desarrollo ASP.NET incorporado en su lugar.

¿Es esta una buena idea? ¿Cuáles son los pros / contras de usar el servidor de desarrollo ASP.NET? ¿Hay algún problema que debemos tener en cuenta?

Gracias.

NB: ejecutándose en Win XP / IIS 5 / VS2005

Editar:

No me di cuenta de que se llamaba Cassini. Más respuestas para Cassini v IIS aquí .


Además, al usar IIS 5.1, asegúrese de obtener JetStat IIS Admin , agrega funcionalidades que están deshabilitadas de fábrica en IIS 5, como la posibilidad de configurar varios sitios.


Como dije aquí: https://.com/questions/103785/what-are-the-disadvantages-of-using-cassini-instead-of-iis tus desarrolladores deben ser conscientes de que Cassini se ejecuta como el usuario local, que es típicamente una cuenta de administrador para desarrolladores. El desarrollo podrá acceder a cualquier archivo o recurso que su cuenta pueda, que es bastante diferente de lo que verán en un servidor IIS 6.

La otra cosa que es bastante complicado es depurar los servicios web, es mucho más fácil usar IIS y vdirs en lugar de separar las instancias de Cassini.


El problema principal con el servidor de desarrollo es SerializationExceptions con principios de seguridad personalizados almacenados en el contexto del hilo. Detalles here .


En VS12, el servidor de desarrollo es muy lento, toma unos segundos descargar un archivo de 2kbytes. Esto no sucedió en vs10. Cuando tienes un montón de archivos jquery y CSS esto es un problema real. Además, cada página vuelve a consultar todos los archivos css / js. Prueba de regresión muy muy lenta.


Es una muy buena idea Aquí hay algunas razones para:

  • Ya no necesita acceso de administrador a su máquina para el desarrollo web (aún puede ser útil).
  • Es mucho más fácil probar un cambio rápido y continuar el trabajo, y los ciclos de iteración más rápidos son buenos .
  • Puede simplificar la configuración y la implementación de sus entornos de desarrollo.
  • La versión XP de IIS tiene limitaciones que no están presentes en la versión del servidor que Cassini da pasos laterales.

El único argumento que conozco en contra es que hay un par de casos extremos muy raros en los que el servidor incorporado de Cassini no imita exactamente a IIS porque está usando números de puertos impares. Dudo que alguna vez te encuentres con ellos, y usar Cassini como el entorno primario de desarrollo no impide que los desarrolladores también tengan acceso a IIS en la máquina. De hecho, mi configuración preferida es Cassini primero para la mayoría del trabajo pequeño, luego se implementa en mi IIS local para realizar más pruebas en profundidad antes de volver a mover el código al repositorio de origen compartido.

[Editar]
Olvidé mi URL de reescritura. Necesitas IIS para eso. Y un ejemplo de una limitación del XP IIS incorporado es que está limitado a un sitio en XP (puede tener múltiples aplicaciones, pero eso es algo diferente).


He usado ambos métodos y prefiero tener IIS localmente en lugar de usar el servidor integrado. Por lo menos, es más coherente con la configuración de implementación final.


Me he encontrado con las siguientes limitaciones con el servidor de desarrollo asp.net:

  1. no admite directorios virtuales. Si los necesita en su aplicación, IIS parece ser su única opción

  2. Las páginas asp clásicas no se ejecutan en el servidor de desarrollo. Entonces, si tiene una aplicación web mixta (como la que tengo ahora en mi cliente), IIS parece ser la solución

  3. Si necesita una IU de administrador para configurar las configuraciones, IIS funciona mejor

Por supuesto, IIS requiere que seas un administrador local.


No hay nada que el servicio web ASP.NET Dev pueda hacer que IIS no pueda (puede establecer puntos de interrupción, etc., simplemente conecte el depurador VS al tiempo de ejecución de ASP.NET).

Sin embargo, ASP.NET Dev WebService no representa un verdadero entorno de producción y, como tal, puede ser atrapado por errores que no esperaría cuando se implementa en producción.

Por eso, ordeno que todo el desarrollo se haga usando IIS en una máquina local. No requiere mucho trabajo configurar un sitio en IIS.


Otra distinción que noté es que Cassini se ejecuta como un proceso de 32 bits y usted no tiene control sobre él, mientras que puede controlar el grupo de aplicaciones de su aplicación IIS para rechazar 32 bits (suponiendo que su IIS se esté ejecutando en un servidor de 64 bits ) Esto se vuelve especialmente importante si su aplicación web llamará a las API en procesos de 64 bits como SharePoint Foundation / Server 2010. Cuando depure su aplicación web con Cassini como su servidor de depuración, obtendrá "La aplicación web en url podría no ser encontrado. Verifique que ha escrito correctamente la URL "escriba errores al crear instancias de objetos. Si depura usando IIS con la aplicación que se ejecuta en un grupo de aplicaciones que se ejecuta como 64 bits con una identidad que permite el acceso a la base de datos de SharePoint, entonces podrá depurar correctamente.


Sé que en un momento tuve un problema con la autenticación que no funcionaba como esperaba en Cassini (servidor de desarrollo integrado)

Además, si necesita probar cosas como los complementos de ISAPI (un regrabador por ejemplo) no estoy seguro de cómo se hace en Cassini.

El puerto en constante cambio también es bastante desconcertante para mí. Además, para cada proyecto web en su solución, se activa otra instancia de un servidor Casini, y cada uno lleva de 20 a 50 MB de memoria.

Uso IIS todo el tiempo, es bastante fácil de configurar, y ustedes ya lo están haciendo ...


Tuve que cambiar (volver) a IIS para un proyecto, porque necesitaba establecer algunos directorios virtuales que no es posible en el servidor web de desarrollo ASP.NET.