4 votes

Problème de Report Viewer après le transfert sur un nouveau serveur

Je viens de déplacer un site d'un serveur Windows 2003, IIS6 SQL 2005 vers un nouveau serveur Windows 2008, IIS7 et SQL 2008.

J'ai des problèmes avec le Report Viewer. J'ai installé le Report Viewer Re-distributable (j'ai essayé 2005, 2005sp, 2008 et 2008sp). J'ai mappé un gestionnaire dans IIS pour

Reserved.ReportViewerWebControl.axd

pour taper

Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a

Cependant, chaque fois que j'exécute un rapport sur le site web, j'obtiens le message d'erreur suivant :

Impossible de charger le type 'Microsoft.Reporting.Microsoft.Reporting.WebForms.HttpHandler' à partir de l'assembly 'Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Description : Une exception non gérée s'est produite lors de l'exécution de la requête web en cours. Veuillez consulter la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Détails de l'exception : System.TypeLoadException : Impossible de charger le type 'Microsoft.Reporting.Microsoft.Reporting.WebForms.HttpHandler' à partir de l'assembly 'Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.

Je suis perplexe. Des idées ?

1voto

Locksfree Points 1779

Je pense que vous devez vous connecter à la version 9.0.0.0 et non à la version 8.0.0.0.

1voto

Muhammad Akhtar Points 32101

Vous devez vous assurer que ce paramètre est bien présent dans le fichier web.config de votre serveur live.

<compilation debug="true">
<assemblies>
</assemblies>
<buildProviders>
<add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.Common, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</buildProviders>

 <httpHandlers>
 <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false"/>
</httpHandlers>

1voto

Binny Points 11

Si vous travaillez sous IIS 7, il convient de vérifier que le gestionnaire a également l'autorisation d'exécuter.

Après avoir configuré le mien, j'ai pu voir que le handler lançait juste une exception 500. En y regardant de plus près, il semble que le simple fait d'ajouter le handler à la liste ne soit pas suffisant. Vous devez également modifier son autorisation car par défaut il n'est pas autorisé à s'exécuter. En cochant la case pour l'autoriser à s'exécuter, mon problème a été résolu immédiatement.

1voto

Frank Tzanabetis Points 805

Il peut également être utile d'essayer ceci si l'une des autres suggestions ne fonctionne pas -

http://social.msdn.microsoft.com/Forums/en-US/sqlreportingservices/thread/0152bb52-988d-43f5-9c3d-8d33512f46de/

"La transition vers IIS 7 a posé un certain nombre de problèmes. Un débogage considérable a été nécessaire.

PREMIER PROBLÈME RÉSOLU : Autorisations de répertoire pour l'identité du pool d'applications d'IIS 7 d'application IIS 7 (la valeur par défaut est Network Service) devaient être ajoutées pour que le pool d'applications IIS puisse avoir accès au chemin physique du répertoire du répertoire Website.

DEUXIÈME QUESTION RÉSOLUE : Une ligne est nécessaire Une ligne devait être ajoutée au fichier web.config de l'application ASP.Net C

Ajouté :

TROISIÈME PROBLÈME RÉSOLU Le pool d'applications par défaut lors de l'installation a .Net Framework 2.0 par défaut. Cela ne posait pas de problème. Le réglage du pool d'applications par défaut pour Managed Pipeline Mode devait être modifié de "Integrated" à "Managed Pipeline Mode". (par défaut) à "Classique", ce qui a été la solution rapide pour que mon application continue à fonctionner comme elle l'avait fait sur IIS 6.0 et sur IIS 6.0. comme elle l'avait fait sur IIS 6".

Le fait de changer le mode de gestion des pipelines en mode "classique" a réglé le problème pour moi.

0voto

Stefan Mohr Points 1425

Il semble que ce problème ait été résolu depuis un certain temps, mais pour ceux qui cherchent :

Notez l'assemblage référencé dans l'erreur :

Microsoft.Reporting.Microsoft.Reporting.WebForms.HttpHandler

Il devrait être simplement Microsoft.Reporting.WebForms.HttpHandler - La façon dont nous nous sommes retrouvés tous les deux avec cela dans notre web.config est suspecte, mais pourrait avoir quelque chose à voir avec la création manuelle du handler dans IIS et le fait de laisser IIS écrire la clé du handler dans le web.config de l'application (maintenant, bien sûr, je ne peux pas le reproduire).

Pour tous ceux qui passent à IIS7, il faut garder à l'esprit que le mappage du gestionnaire se trouve désormais dans le dossier <system.webServer> <handlers> et non <system.web> <httpHandlers> comme c'était le cas dans les versions précédentes. IIS7 ne tiendra pas compte de l'ancien httpHandlers mais il se peut que vous vérifiiez les paramètres par habitude et que vous soyez frustré par le fait que vos paramètres ne sont pas pris en compte.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X