Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何解决VS 2010 ASP.Net ReportViewer HttpHandler注册错误?_C#_Asp.net_Reportviewer - Fatal编程技术网

C# 如何解决VS 2010 ASP.Net ReportViewer HttpHandler注册错误?

C# 如何解决VS 2010 ASP.Net ReportViewer HttpHandler注册错误?,c#,asp.net,reportviewer,C#,Asp.net,Reportviewer,这让我抓狂——我有一个web应用程序,它的ReportViewer版本10可以毫无问题地显示现有报告。我们正在扩展该网站,我已经基于第二个本地业务对象创建了一个新的报告,我们正在与NetSuite web服务集成。页面加载并请求数据,数据会很好地传回-但是,在尝试创建ReportViewer实例时,页面在生成的标记中引发异常: Microsoft JScript运行时错误:“Microsoft”未定义 单击“继续”将加载包含错误文本的页面: The Report Viewer Web Contr

这让我抓狂——我有一个web应用程序,它的ReportViewer版本10可以毫无问题地显示现有报告。我们正在扩展该网站,我已经基于第二个本地业务对象创建了一个新的报告,我们正在与NetSuite web服务集成。页面加载并请求数据,数据会很好地传回-但是,在尝试创建ReportViewer实例时,页面在生成的标记中引发异常: Microsoft JScript运行时错误:“Microsoft”未定义

单击“继续”将加载包含错误文本的页面:

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.
我正在使用VS ASP.Net运行时服务器运行此本地主机。显然,如果我的web配置不正确,第一个报表查看器将无法加载其报表,因此不可能是这样


我确实成功地加载了第二个报告,但随后的多次尝试都导致了上述情况。我试着删除新页面上的报告,并从原始页面复制一个有效的报告,指向它的报告/数据源,我得到了相同的结果。莫名其妙

我相信您确实需要将密钥添加到web.config文件中。您还需要在包含报表查看器的aspx文件中添加对ReportView组件的引用。Web.config应该类似于

 <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" />
</assemblies>
<httpHandlers>
   <add path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" validate="false" />
</httpHandlers>
Aspx文件应该在html的顶部附近有

<%@ Register Assembly="Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
    Namespace="Microsoft.Reporting.WebForms" TagPrefix="rsweb" %>

谢谢,迈克,我在网络配置和新页面上都有这些。似乎添加一个带有另一个reportviewer的新表单会产生异常

VS2010中的开发服务器可能有问题?我将尝试在IIS localhost中运行,看看是否有区别


Michael

我遇到了这个问题,我高度怀疑它是可以解决的。我所做的是使用Version=9.0.0.0,它似乎很容易工作。但是,由于在更改报告文件时必须编辑XML或使用VS2008,因此非常繁忙。

我找到了解决方案:

由于我使用的是集成管道模式,因此必须将以下内容添加到根web.config中:

<system.webServer> 
<handlers> 
  <add name="ReportViewer"
                  path="Reserved.ReportViewerWebControl.axd"
                  verb="*"
                  type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
</handlers> 
</system.webServer>         
请注意,配置在system.webServer下,而不是system.web下


希望有帮助。

您必须将处理程序添加到system.webserver for iis 7及更高版本,如报表查看器错误消息中所述