2012-04-30 15 views
38

¿Es posible autohost asp.net mvc dentro de otra aplicación, es decir. consola, formularios de Windows, servicio, etc.autohosting asp.net mvc

Me gustaría crear una aplicación que ofrezca una interfaz web para controlarla y me gustaría utilizar asp.net mvc para la parte web de la misma.

Eché un vistazo rápido a Nancy, que parece que funcionaría, aunque no es asp.net mvc, sí soporte para afeitar aunque no tiene el mismo nivel de soporte que asp.net (por ejemplo, vistas inflexible.)

yo también encuentro esta pregunta, pero que en realidad no entrar en mucha profundidad Possible to use ASPNET MVC2 without IIS?

Respuesta

34

puede utilizar "IIS 7.0 hospedable web Core" y alojar el servidor web como parte de cualquier proceso de usuario, incluso una aplicación de consola. La ventaja es que es muy similar a IIS completo (incluye config, etc.) pero el servidor web se está ejecutando en su proceso.

Tener un vistazo a los siguientes artículos:

  1. Host your own Web Server in your application using IIS 7.0 Hostable Web Core
  2. Creating Hosted Web Core Applications
+0

muy agradable! Marcará como respuesta si nadie más tiene nada más que agregar –

+26

Esto se veía bien, hasta que leí que la computadora que ejecuta el código debe tener IIS7 instalado, incluso si su código está alojado en su propio proceso. –

10

favor, eche un vistazo a http://cassinidev.codeplex.com/ Tiene muchas ventajas, por ejemplo

  • No hay necesidad IIS 7 en la máquina del cliente
  • Soporte MVC (he probado a mí mismo) así
  • Trabaja con Windows Form y control del explorador Web para el envasado de aplicaciones como Windows
  • plataforma
  • Cruz Win OS (Windows XP, Vista, 7) Tengo prueba de XP con .NET 4 instalado

Espero que esto ayude.

+0

pero no se ejecuta en el proceso de usuario, ¿verdad? – SeriousM

+1

Puede ejecutarse en el proceso de usuario, o puede ejecutarlo con su propio proceso de alojamiento usando argumentos de línea de comando. Para ejecutarlo en su propio proceso, todo lo que necesita es hacer referencia al ensamblado de .NET y llamar a las funciones para iniciar o detener el servidor (que se ejecuta en su propio hilo). –

2

Sé que esta pregunta es antigua, pero sigue siendo relevante, por lo que con .NET Core 1.0 + ASP.NET MVC 6 puede autoevaluar fácilmente su aplicación MVC. Incluso puede combinar aplicaciones MVC y WebAPI en una sola, y puede decidir más adelante si desea usar IIS, IIS Express o la función de alojamiento propio de .NET Core.

Puede probar si sigue el enfoque Yeoman de este post: https://stackoverflow.com/a/30314393/980247