web-dev-qa-db-fra.com

Le gestionnaire HTTP de contrôle Web du visualiseur de rapports n'a pas été enregistré dans le fichier web.config de l'application.

    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

Cette erreur est à venir. J'ai déjà mentionné cette ligne dans le gestionnaire http mais j'obtiens toujours cette erreur 

<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" />

mon balisage de page html est comme suit 

<%@ 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 section des assemblages de configuration Web est la suivante:

<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>
20
rahularyansharma

J'avais le même problème. Ce qui s’est passé, c’est que j’ai mis la routine de chargement de rapport sur Page_Load et ne l’ai pas enveloppé dans if (!IsPostBack). ReportViewer crée un POST sur la page, ce qui déclenchait Page_Load et recharge le rapport, ce qui le perturbe. Après avoir tout mis dans if (!IsPostBack), cela a fonctionné à merveille.

11

Pourriez-vous vérifier votre web.config pour les gestionnaires enregistrés ou non pour ReportViewer. sa devrait être comme ça

Gestionnaire

<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>

Vérifiez également la section Assembly de votre web.config pour ReportViewer, ce qui devrait être comme ci-dessous.

<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" />

9
Mayank Pathak

Le problème a également disparu pour moi lorsque j'ai modifié le pool d'applications d'Integré à Classic. 

7
Sean

Les deux derniers jours, j’ai eu le même problème… .. Ce n’est pas vraiment une réponse à la question initiale, mais quelques informations supplémentaires pour ceux qui ont le même problème.

L'application avec laquelle j'ai eu le problème a été développée en 2005 et est encore en développement.

Donc, il a été porté de VS 2005 à VS 2008 à VS 2010 et dernièrement à VS 2013. Il semble que ce soit à ce moment-là que l'erreur s'est produite . Quelque part entre le framework .NET est passé de .NET 3.5 à .NET 4.

Je pense (je n'ai pas vérifié) qu'avec .NET 4, le visualiseur de rapports * .dlls est fourni en tant que bibliothèques système. Quoi qu'il en soit, cela m'a montré mon GAC:

enter image description here

Seul le premier, la version 8, a été installé manuellement par moi-même (avec le binaire redistribuable de Reporting Viewer 2005).

Ainsi, dans VS 2013, Resharper pense à la version 11 et modifie automatiquement ces lignes dans 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>

En résumé: Il semble - du moins dans mon cas - que cette erreur indique un conflit de version avec les bibliothèques utilisées avec Visual Studio et celles utilisant un environnement d'exécution. L'erreur donnée par Microsoft est un peu trompeuse.

1
Martin Meeser

Ce problème s'est posé à moi après que j'ai modifié le paramètre de la procédure stockée que ma requête appelait sans actualiser l'ensemble de données dans le concepteur SSRS. Vous pouvez donc essayer.

1
dellyjm

Pour IIS 7 ou version ultérieure

  <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>
0
mzonerz

Nous obtenions exactement la même erreur du contrôle Web Report Viewer lors de la mise à niveau vers SSRS 2016. Nous ne pouvions pas non plus accéder au portail Web SSRS. Une erreur 503 nous entraînait: https://support.Microsoft.com/en-gb/help/3171040/-http-503-service-unavailable-error-when-yen- vous-open-the-ssrs-web-portal-after-you-upgrade-to-ssrs- 2016

Une fois que nous avons installé SQL Server 2016 Service Pack 1, tout a fonctionné.

0
Ben

Si vous utilisez les services WCF pour récupérer des données de la base de données, vous pouvez être confronté à ce problème même si vous avez ajouté le gestionnaire HTTP à votre fichier web.config.

Dans ce cas, vous devez également ajouter les points de terminaison du service, les comportements et les liaisons au web.config pour que tout fonctionne correctement.

0
Talha Imam

Dans mon cas, la ligne suivante a résolu le problème pour moi: 

<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>
0
Usman Khalid

Je n'ai rien changé dans le pool d'applications, juste ajouté cette ligne:

<Add name = "Reserved-ReportViewerWebControl-axd" path = "Reserved.ReportViewerWebControl.axd" verb = "*" type = "Microsoft.Reporting.WebForms.HttpHandler" resourceType = "Unspecified" />
0
Gabriel Simas