Mostrando las entradas con la etiqueta Deployment. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Deployment. Mostrar todas las entradas

12 abr 2021

// // Comentar

Configurar variables de entorno en IIS para aplicaciones ASP .NET Core

 Si estamos desarrollando aplicaciones en ASP .NET Core y lo publicamos en IIS para probar simulando un entorno de Producción o cualquier otro ambiente, ASP .NET Core usa variables de entorno para trabajar.

Configurar variables de entorno en IIS

1. Abrir el IIS y seleccionar el sitio que queremos configurar.

2. En las opciones del sitio vamos a Editar Configuraccion



3. En el desplegable de Sección seleccionamos la opción system.webServer/aspNetCore y en el detalle vamos a encontrar la propiedad environmentVariables.



4. En esta propiedad podemos agregar las variables de entorno que necesitamos, solo hay que dar click en los puntos suspensivos para que nos muestre la ventana de propiedades.



5. En este ventana agregamos las variables de entorno que necesitemos, en este caso estoy indicando que la variable ASPNETCORE_ENVIRONMENT tenga el valor de Development


6. Luego de agregar la variable aplicamos la configuración y reiniciamos el IIS para que hagan efecto los cambios.


Siguiendo estos pasos se puede configurar cualquier variable de entorno necesaria para la aplicación, espero les sirva de ayuda.



Leer post completo

11 abr 2012

// // 3 comentarios

Publicación de aplicaciones ASP .NET con Informes en Microsoft Reporting

Si tenemos una aplicación web desarrollada en ASP .NET en la cual hemos creado reportes usando Microsof Reporting al momento de publicarlo en un servidor web nos va a pedir las librerías necesarias para ejecutarlo que son las siguientes:

  • Microsoft.ReportViewer.Common.dll
  • Microsoft.ReportViewer.WebForms.dll
  • Microsoft.ReportViewer.ProcessingObjectModel.dll

Estas librerías las podemos adjuntar en la carpeta bin de nuestra aplicación, siendo así, con las 2 primeras librerías no tendremos problema, ya que si vemos la referencia agregada en nuestro proyecto nos daremos cuenta que se encuentran en la ruta:

C:\Program Files (x86)\Microsoft Visual Studio 10.0\

Pero la última no figura en esa ruta, y si no lo copiamos con el proyecto, tendremos un error del tipo:

could not load file or assembly 'microsoft.reportviewer.processingobjectmodel version=10.0.0.0

Por este motivo es que se requiere, lo bueno es que si encuentra pero está registrada en el GAC, por lo que tendremos que copiarla de ahi, en esta ocasión les comparto una forma de hacerlo:

Copiarlo vía consola DOS


  1. Abrir la consola DOS (Presione Windows + R, luego escribir cmd y aceptar)
  2. Escribir el siguiente comando: cd C:\WINDOWS\assembly\GAC_MSIL\Microsoft.ReportViewer.ProcessingObjectModel
  3. Escribir el comando dir para listar los directorios que representan a las versiones para poder seleccionar la adecuada a nuestra aplicación, tendremos una lista similar a la que muestra la Figura 1.
  4. Escribimos el comando cd versionNumber, donde versionNumber representa una de las versiones que visualizamos en el comando anterior (ejemplo cd 10.0.0.0__b03f5f7f11d50a3a) presionamos enter y luego escribir el comando dir y deberíamos visualizar la librería que estamos buscando.
  5. Por ultimo solo nos queda copiar la librería en algún directorio, para ello escribimos el comando copy *.dll D:\Lib.
Figura 1: Lista de versiones de libreria de Microsoft Reporting

Con esto ya tendremos la última librería que podremos adjuntar a nuestra aplicación y poder visualizar los informes.

Espero les sea de utilidad.

 
Leer post completo

10 jun 2009

// // 6 comentarios

WCF: Esta colección ya contiene una dirección con el esquema http. Sólo puede haber una dirección por esquema en esta colección

“This collection already contains an address with scheme http. There can be at most one address per scheme in this collection.“

Pues recientemente me he topado con este mensaje de error, me ha salido al momento de hacer deployment de un servicio WCF, en modo local no tenia problemas, indagando un poco encontré que se trata de como IIS aloja los servicios, para lo cual permite una sola dirección por esquema (HTTP), por lo cual en servidores de hosting compartidos nos da este problema, en mi caso lo solucione creando una clase Factory que herede de ServiceHostFactory y sobrescriba el método que devuelve el  ServiceHost con solo una dirección:

public class CustomHostFactory : ServiceHostFactory
{
protected override ServiceHost CreateServiceHost(Type serviceType, Uri[] baseAddresses)
{
Uri webServiceAddress
= new Uri("http://dominio.com/Service.svc");
ServiceHost webServiceHost
= new ServiceHost(serviceType, webServiceAddress);

return webServiceHost;
}
}


Ahora solo nos hace falta indicarle al servicio que debe usar esta clase como Factory



<%@ ServiceHost Language="C#" Debug="true" Service="Services.MyService" Factory="Services.CustomHostFactory" %>


Con esto ya no tendremos este error y nuestro servicio trabajará correctamente.



Adicionalmente a esto pueden otras opciones de como solucionar este problema como en los siguientes enlaces:



WCF: This collection already contains an address with scheme http



How can WCF support multiple IIS Binding specified per site ?



Espero les pueda evitar unos cuantos dolores de cabeza.

Leer post completo