2008-11-24 14 views
5

Necesito implementar una aplicación web en varias computadoras portátiles (aunque es una aplicación web, está destinada a ejecutarse solo a través de localhost, por lo que es necesario implementarla en varias máquinas diferentes).¿Puedo automatizar la creación de una aplicación web .NET en IIS?

Normalmente iría a IIS y haría clic derecho en un directorio para crear una aplicación web, pero me gustaría automatizar este tramo de la instalación. Se puede hacer?

editar: Mi pregunta, claramente, no es muy clara.

Quiero usar IIS, pero quiero crear la aplicación web automáticamente sin abrir el Microsoft Management Console (MMC) de IIS.

Respuesta

7

puedo sugest que tome un look at this link si va a implementar en IIS6 or at this one si es IIS7 (que pude recomiende Mike Volodarsky's blog para cualquier información sobre IIS7 en general). Debe ser bastante simple para usted escribir un archivo por lotes para automatizar la creación de un sitio. Ejemplo:

  • IIS6: iisweb/crear C: \ Mis Vacaciones en Roma ""/d www.reskit.com/dontstart
  • IIS7:% windir% \ system32 \ inetsrv \ appcmd Agregar sitio/nombre: MyNewSite/bindings: http/*: 81:/physicalPath: c: \ inetpub \ mynewsite
+0

exactamente lo que necesitaba, esperemos que pueda hacerlo funcionar: D – inspite

1

Para implementar un servidor web mínimo, puede usar HTTP.SYS (el componente principal de IIS implementado con Windows XP SP2 o superior). En .NET esto se puede hacer p. mediante el uso de la clase HttpListener en el espacio de nombres System.Net.

Saludos, Tamberg

2

Usted puede mirar en el interior del Cassini Sample Web Server (viene con la fuente):

la muestra ASP.NET Cassini Web Server es un servidor web escrito muestra el uso de Microsoft® .NET ® Framework, y demuestra el alojamiento de ASP.NET utilizando las API de hosting de ASP.NET (System.Web.Hosting).

4

Realmente estás haciendo dos preguntas diferentes. Primero, ¿por qué reinventar la rueda? Con toda probabilidad, las computadoras portátiles ya son capaces de ejecutar IIS, está disponible en todas las versiones de Windows "modernas" con la posible excepción de Vista Home. En segundo lugar, un instalador de VS.NET puede orientar y automatizar fácilmente una instalación a IIS. Si usa Wix o algún otro instalador externo, requerirá más trabajo manual, pero aún puede hacerse.

Editar: Al volver a leer su pregunta, eso suena como lo que realmente está preguntando: usted ya sabía que IIS estaba disponible en las computadoras de destino, pero simplemente no quería instalarlo manualmente en cada computadora. ¿Correcto? En ese caso, definitivamente observe el proyecto de instalación de VS.NET: tienen un objetivo incorporado para la implementación de IIS.

+0

SI eso es lo que estoy hablando, me acaba de editar la pregunta: D Thx – inspite

+0

1 para la lectura de la pregunta. Estaba pensando "Mono" al principio también, pero como resulta que el título no tiene mucho que ver con el texto ... – Tomalak

+0

en realidad, creo que nadie leyó la palabra "automatizar" en el título de la pregunta ..... – inspite

1

Cree un nuevo proyecto de Visual Studio de tipo "Configuración e implementación", y utilice el tipo "Configuración web".

Esto creará un instalador .msi que creará automáticamente la aplicación web para usted dentro de IIS.

También obtendrá la capacidad de realizar instalaciones de red, por lo que si cuenta con los permisos adecuados, podría hacerlo de manera central.

0

Mire en this mensaje. Explica cómo iniciar el servidor web Cassini desde la línea de comandos y agregarlo como una extensión de shell.

EDITAR: El blog de CarlosAg tiene excelentes publicaciones sobre IIS administration throw PowerShell y managed code.

1

Se puede crear un directorio virtual sin usar la consola de MMC mediante la tarea WebDirectoryCreate disponibles dentro del proyecto msbuildtasks

2

Puede usar el sistema.DirectoryServices class por ejemplo

http://www.gafvert.info/iis/article/cs_create_website_iis6.htm

+0

El DirectoryServices funciona bastante bien para crear un sitio web IIS6. También se puede usar para IIS7 si el modo de compatibilidad IIS6 se convierte en uno. Para IIS7, también puede usar Web Administration API. Ambos métodos pueden ser escritos en PowerShell. Tal vez puedas crear secuencias de comandos powershell para implementar el sitio web. –

Cuestiones relacionadas