[ASP.NET] Web Service - Publicar en IIS Windows 7 (3/3)
Introducción
El uso de Win 7 o Windows Server implica contar con una versión de IIS mas robusta a la hora de exponer servicios para ser consumidos. Con Win 7 o Win 2008 contamos con IIS 7 el cual permite crear sitios web en un puerto especifico que definamos, esto no era posible de lograr en Win Xp
Este artículo es la continuación de:
[ASP.NET] Crear y Publicar - Web Service (1/3)
[ASP.NET] Web Service - Publicar en IIS Windows XP (2/3)
En esta oportunidad a diferencia de las anteriores usaremos un proyecto creado en VS 2010, básicamente es el mismo proyecto que fue convertido de versión para poder usar .net 4
Publicar Web Project VS 2010
Para cambiar un poco la situación de los contextos anteriores se usara el Visual Studio 2010, crear una aplicación web que exponga ya sea paginas o servicio requiere aplicar los mismos pasos expuestos en los artículos anteriores, toda la explicación anteriormente brindada es totalmente valida ya sea se use VS 2008 o 2010
VS 2010 brinda mas opciones al momento de publicar, se accede mediante un click del botón derecho del mouse
Al comparar la pantalla de publicación con la utilizada en los artículos anteriores se notaran mas completa
Algo que rápidamente nos llama la atención es la creación perfiles de publicación, utilizado para definir un determinado set de opciones, en este caso hare uso de la publicación a una carpeta del disco local, y grabare el profile para poder reutilizarlo las veces que hagan falta
El resultado será el mismo que se obtuvo en los artículos anteriores, paginas, servicios y dlls listos para ubicarlos en el IIS
Acceso a la opciones de publicación
La publicación tiene mas opciones de las esperadas, se puede acceder de forma rápida, si se habilita la toolbar
se habilitara la opción
para acceder de forma rápida al profile de publicación.
Si se presto atención a la pantalla “Publish Web” se habrá notado una leyenda donde se hace mención a opciones avanzadas de publicación, se accede a esta por medio de las propiedades del proyecto web
Creación Sitio IIS 7
Al igual que sucedía con IIS 5 de Win Xp al acceder al administrador se cuenta con un sitio creado por defecto residente en el puerto 80
pero como diferencia ahora si se podrán crear sitio web que estén en el puerto que uno desea, el primer paso por supuesto será crear el sitio
Solo es cuestión de definir un nombre para el sitio, la ruta física donde se realizara el deploy y el puerto
recordemos que el Default Web Site es quien utiliza el puerto 80, por eso en este caso he usado el 8080, pero puede ser cualquier otro que uno decida usar
Seleccionando el sitio creado se podría acceder a opciones básicas y avanzadas
Con estos simples pasos se ha creado un sitio, solo resta copiar los archivos publicados del paso anterior
Application Pool
Es importante notar como de forma automática al crear el sitio se define un Application Pool con el nombre del sitio
este puede cambiarse por uno existente, pero es buena idea que cada sitio tenga su propio App Pool
En este se podrá configurar la versión del framework de .net que será usada, el usuario con el cual se ejecuta el sitio, si se dispone de una pc con arquitectura de 64 bits podrá habilitarse o no la compatibilidad con 32bit
Existe opciones básicas
Para configurar principalmente la versión del framework utilizado
y opciones avanzadas
en donde además de poder cambiar la versión del framework se puede definir el identity, el usuario que definan será con el cual se ejecuten los procesos, si quiere lanzar un .exe, una aplicación, acceder a una carpeta que esta por fuera del sitio, o a una shared folder, deben asegurarse que ese usuario tenga permiso
Igualmente el identity del App Pool no es el único lugar donde definir el usuario, se puede recurrir a la configuración del sitio, el web.config
<system.web><identity impersonate="true" userName="dominio\nombreusuario" password="password"/>..</system.web>Al copiar el contenido del código a la carpeta del sitio se podrá acceder al contenido, así como visualizarlo en el explorador
si en los pasos anteriores no modificaron ninguna opción puede que obtengan el siguiente mensaje de error
especialmente si usas una base de datos que se encuentra en el App_Data, la cual se adjunta de forma dinámica al servicio de sql server, para solucionarlo solo será necesario cambiar el usuario definido en el App Pool
Se podría cambiar a NetworkService
Ahora si al acceder a la pagina podremos ver que resuelve correctamente
Una vez publicado el sitio se podría modificar de forma visual la configuración con la ayuda del IDE del IIS, por ejemplo, opciones como ser el connection string
cambiar el valor desde el IIS impacta directo en el web.config del sitio
Código
Se ha usado Visual Studio 2010 y Sql Server Express 2008 R2
| [C#] |
en caso de que nuestra aplicación trabaje con una base de datos hecha en SQL, ¿la configuración sigue siendo la misma?, ya que lo probe y da error de SQL cuando lo instalo en otras computadoras ecepto en la que cree la aplicación.
Mira acá esta una mejor opción que se encuentra desde hace mucho tiempo en VS https://mspeduardoramirez.wordpress.com/2013/08/23/crear-un-instalador-en-visual-studio-2013/