IIS7
Por
Juan Carlos Peláez
IIS7 más WCF con otros Bindings
Complemento de otro post en el que Roberto Alvarado ya había hecho un abrebocas del tema.
En IIS7 se pueden usar otros bindings como por ejemplo net.tcp y named.pipes para acceder a servicios de WCF (en IIS6 sólo es posible usar http Binding, para usar uno de los otros se debe hostear el servicio en otro tipo de host como un servicio Windows o una aplicación de consola) y justo esto es una de las ventajas de IIS7, se utiliza todo lo bueno del mundo del IIS como el reciclaje de aplicaciones pero con protocolos muchos mejores para ciertos escenarios como net.tcp.
Para habilitar estos protocolos en IIS7 debe ir al panel de control, programs, turn Windows Features On/Off y verificar que tenga seleccionadas por lo menos las opciones que aparecen en la imagen, en especial lo que tiene que ver con la activación de servicios sobre protocolos no HTTP.
Con esta habilitado ya se puede ir al IIS y seleccionar los bindings y protocolos correctos como se muestra en las dos imágenes siguientes:
![]()
Ahora puede Hospedar servicios de WCF con bindings como net.tcp que se usa para escenarios de red de área local o named.pipes que se usa para comunicaciones interprocesos en la misma máquina.
Por
Juan Carlos Peláez
Publicar un reporte embebiendo ReportViewer en una página aspx con IIIS7
Antes de seguir los siguientes pasos, es necesario descargar Microsoft Report Viewer Redistributable.
Al realizar la publicación en IIS7 de un reporte en formato .rdlc embebido en una pagina aspx, nos encontramos que después de agregar nuestra aplicación web en IIS y dentro de su contenido copiar los archivos publicados en Visual Studio, vamos acceder a nuestra reporte (http://LocalHost/aplicacionReporte/reporte.aspx) y al realizar alguna consulta, el control ReportViewer esta deshabilitado.
La razón de esto es: cuando el control ReportViewer se añade al formulario web (Aspx), el httpHandler Reserved.ReportViewerWebControl.axd se añade a la sección System.Web del archivo web.config. En IIS7, este debe añadirse bajo la sección System.Webserver del archivo web.config. En IIS7 las Asignaciones de Controlador no tiene un httpHandler del tipo Microsoft.Reporting.WebForms.HttpHandler (Reserved.ReportViewerWebControl.axd) y, por lo tanto es incapaz de habilitar los elementos del ReportViewer que necesita JavaScript.
Solución:
- Abra Servicios de Internet Information Server (IIS) y seleccione la aplicación Web.
- Bajo el menú IIS, haga doble clic en Asignaciones de Controlador.
- En el panel derecho haga clic en agregar controlador administrado.
- En el cuadro de dialogo de agregar controlador administrado, escriba lo siguiente:
Ruta de Acceso de Solicitudes: Reserved.ReportViewerWebControl.axd
Tipo: Microsoft.Reporting.WebForms.HttpHandler
Nombre: Reserved-ReportViewerWebControl-axd
- Haga clic en aceptar.
El manejador ó Handler, Reserved-ReportViewerWebControl-axd esta añadido ahora a su lista de asignaciones de controlador. Observe que la siguiente línea también ha sido añadida a su archivo web.config bajo la sección del manejador ó handler System.WebServer:
<add path=”Reserved.ReportViewerWebControl.axd”
verb=”*” resourceType=”Unspecified”
/>



