2011-11-21 21 views
11

informes se despliegan y de trabajo, verificado en el Administrador de informes.Informe de Control Web Visor versión 10 produce un error pesar configurado correctamente

Mi aplicación es una aplicación MVC2 con mi informe sobre su propia página aspx. Esta página funcionaba con la versión 8 del control del visor de informes, pero pasamos a servidores nuevos, servidores sql actualizados y estamos intentando actualizar nuestro sitio web para que coincida.

Los servidores son Windows Server 2008 con IIS 7.5.

estoy probando tanto en Chrome e IE 9.

A pesar de mis mejores esfuerzos, todavía me sale este error:

Report Viewer Configuration Error

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=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> to the system.web/httpHandlers section of the web.config file, or add <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" /> to the system.webServer/handlers section for Internet Information Services 7 or later.

Pero, ya he hecho esto. De hecho, incluso de leer esto desde MSDN:

To use IIS 7.0 in Integrated mode, you must remove the HTTP handler in system.web/httpHandlers. Otherwise, IIS will not run the application, but will display an error message instead.

Sólo para estar seguro, he intentado un combo de ninguno al tiempo que añade el controlador en IIS directamente, sólo el controlador HTTP del servidor web en mi configuración, sólo el controlador HTTP en mi configuración, y ambos. inicio

Vamos con mi web.config

<configuration 
    <system.web> 
    <httpRuntime maxQueryStringLength="4096" /> 
    <compilation targetFramework="4.0"> 
     <assemblies> 
     <add assembly="System.Web.Abstractions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add assembly="System.Web.Routing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" /> 
     <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" /> 
     </assemblies> 
     <buildProviders> 
      <add extension=".rdlc" type="Microsoft.Reporting.RdlBuildProvider, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
     </buildProviders> 
    </compilation> 
    </system.web> 
    <system.webServer> 
    <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> 
    </system.webServer> 
</configuration> 

tengo las asambleas, el proveedor de generación, y el manejador. ¿Qué más podría estar mal?

Respuesta

6

encontré una solución rápida y sucia - a su web.config añadir lo siguiente:

<location path="Reserved.ReportViewerWebControl.axd"> 
<system.web> 
    <authorization> 
    <allow users="*" /> 
    </authorization> 
</system.web> 

que vi en el violinista que, por alguna razón, cuando la página solicitada Reserved.ReportViewerWebControl.axd en vez de conseguir HTTP 200 servidor de respuesta enviaría 302 - movido a login.aspx? Returnurl = "Reserved.ReportViewerWebControl.axd. Así que permitir que todos los usuarios manejen la ruta resolvió el problema.

+0

soy josh confirmaré esto funciona :) gracias –

+0

en este caso, ¿puedes marcar la respuesta como aceptada? – lstanczyk

+0

se perdió una palabra clave allí ... ¡espero que Josh confirme que esto funciona! :) –

1

Pensé que su ReportViewer Rendering Issue en IIS7 me ha asignado manualmente mi mango ReportViewer a IIS7 como esto:

• Abra Internet Information Services (IIS) y seleccione la aplicación Web.

• Superficie del IIS, haga doble clic en el icono Asignaciones de controlador.

• En el panel de acciones a la derecha, haga clic en Agregar controlador administrado.

• En el cuadro de diálogo Agregar Gestionado Handler, entre lo siguiente: ruta

Solicitud: Reserved.ReportViewerWebControl.axd

Tipo: Microsoft.Reporting.WebForms.HttpHandler

Nombre: Reservado-ReportViewerWebControl -axd

• Haga clic en Aceptar.

también cambió por web.config añadiendo


siendo mío no funciona. Pensé que la solución anterior ayudaría a otros.

+0

Sí, esto lo arregló para mí (IIS7, Server 2008) – odinel

-1

He intentado esto eliminando ensamblajes de mvc no deseados del proyecto asp.net. Entonces, la solución simple fue eliminar WebMatrix. *. Dll de la carpeta Bin en el proyecto web, ya que eso pertenece a mvc framework.

Cuestiones relacionadas