asp.net - tutorial - El controlador HTTP de Report Viewer Web Control no se ha registrado en el archivo web.config de la aplicaciĆ³n
reserved reportviewerwebcontrol axd ssrs (10)
¿Podría revisar su web.config
para los controladores registrados o no para ReportViewer
. debería ser así
Entrenador de animales
<handlers>
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</handlers>
También verifique la sección de ensamblaje en su web.config
para ReportViewer
, debería ser como a continuación.
<assemblies>
<add assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
<add assembly="Microsoft.ReportViewer.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
The Report Viewer Web Control HTTP Handler has not been registered in the application''s
web.config file. Add <add verb="*" path="Reserved.ReportViewerWebControl.axd" type =
"Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0,
Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> to the system.web/httpHandlers section of the web.config file
Este error se acerca. Ya he mencionado esta línea en el controlador de http, pero sigo recibiendo este error
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=0000000000000000" validate="false" />
mi marca de página html es la siguiente
<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:Button ID="btnsubmit" runat="server" OnClick="GenerateReportButton_Click" />
<rsweb:ReportViewer ID="ReportViewer1" runat="server">
</rsweb:ReportViewer>
</asp:Content>
La sección de ensamblajes de configuración web es la siguiente:
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.DataVisualization, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
</assemblies>
El problema también desapareció cuando cambié el grupo de aplicaciones de Integrado a Clásico.
En mi caso, la siguiente línea me solucionó el problema:
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<handlers>
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=14.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</handlers>
</system.webServer>
Estaba teniendo el mismo problema. Lo que sucedió fue que puse la rutina de carga de informes en la carga de página y no la if (!IsPostBack)
. El ReportViewer realiza un POST a la página, y eso estaba activando Page_Lad y recargando el informe, de alguna manera desordenado. Después de poner todo dentro if (!IsPostBack)
, funcionó a la if (!IsPostBack)
.
Este problema se me presentó después de que cambié el parámetro del procedimiento almacenado al que estaba llamando mi consulta sin actualizar el conjunto de datos en el diseñador de SSRS, por lo que podría intentarlo.
Los últimos dos días he tenido el mismo problema. Esto no es realmente una respuesta a la pregunta original, solo información adicional para quienes tienen el mismo problema.
La aplicación con la que tuve el problema se desarrolló en 2005 y aún está en desarrollo.
Así que ha sido portado de VS 2005 a VS 2008 a VS 2010 y últimamente a VS 2013. Parece que esto es cuando ocurrió el error. En algún lugar entre .NET framework se ha cambiado de .NET 3.5 a .NET 4.
Creo que (no verifiqué) que con .NET 4 el visor de informes * .dlls viene como bibliotecas del sistema. De todos modos esto me mostró mi GAC:
Solo el primero, la versión 8, lo he instalado manualmente (con el binario redistribuible de Reporting Viewer 2005).
Así que en VS 2013, Resharper está pensando en la versión 11 y cambia automáticamente esas líneas en web.config
<httpHandlers>
<!-- this is the correct one (if using Report Viewer 2005 / 8.0.0.0 -->
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
</httpHandlers>
<httpHandlers>
<!-- this is the wrong one inserted during the update (or maybe Resharper) -->
<add path="Reserved.ReportViewerWebControl.axd" verb="*" type="System.ServiceModel.Activation.HttpHandler, System.ServiceModel.Activation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" validate="false"/>
</httpHandlers>
Tan larga historia corta: Parece que, al menos en mi caso, este error apunta a un conflicto de versión con las bibliotecas que se usan con Visual Studio y las que se usan en tiempo de ejecución. El error dado por Microsoft es un poco engañoso.
No he cambiado nada en el grupo de aplicaciones que acabo de agregar esta línea:
<Add name = "Reserved-ReportViewerWebControl-axd" path = "Reserved.ReportViewerWebControl.axd" verb = "*" type = "Microsoft.Reporting.WebForms.HttpHandler" resourceType = "Unspecified" />
Para IIS 7 o posterior
<system.webServer>
<handlers>
<add name="ReportViewerWebControlHandler" preCondition="integratedMode" verb="*" path="Reserved.ReportViewerWebControl.axd" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=11.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />
</handlers>
</system.webServer>
Recibimos el mismo error del control web de Report Viewer cuando nos actualizamos a SSRS 2016. Pero tampoco pudimos acceder al portal web de SSRS. Recibimos un error 503 que nos llevó aquí: https://support.microsoft.com/en-gb/help/3171040/-http-503-service-unavailable-error-when-you-open-the-ssrs-web-portal-after-you-upgrade-to-ssrs-2016
Una vez que instalamos SQL Server 2016 Service Pack 1 todo funcionó.
Si está utilizando los Servicios WCF para recuperar datos de la base de datos, puede enfrentar este problema incluso si ha agregado el controlador HTTP a su archivo web.config.
En este caso, también tiene que agregar los puntos finales, comportamientos y enlaces del servicio a web.config para que las cosas funcionen.