【问题标题】:asp.net web reference for reporting services用于报告服务的 asp.net 网络参考
【发布时间】:2009-09-01 09:16:57
【问题描述】:

我正在尝试使用提供的 Web 服务从基本的 asp.net 网站访问报告服务网站。

我已在报告服务器上添加了对 reportservice2005.asmx 的引用,但我在使智能感知正常工作以及运行/编译任何内容时遇到问题。

从示例中,我看到人们使用以下内容创建服务实例:“ReportingService rService = new ReportingService();” - 其中 ReportingService 是在 Visual Studio 中创建的 Web 引用的名称。我已将此修改为 vb.net 代码,但出现错误。好像 ReportingService 是命名空间,我需要选择其中的一个类。

所以我尝试了“dim rService as ReportingService.ReportingService2005”

这是正确的吗?它似乎适用于智能感知,但是当我尝试运行代码时,我收到编译错误:“未定义类型'ReportingService.ReportingService2005'。”

有什么想法吗? 干杯! :D

【问题讨论】:

    标签: asp.net web-services reporting-services


    【解决方案1】:

    在添加网络引用时,您肯定会要求输入引用名称。首先将引用导入到您的类文件中。并尝试创建 instacnes.. 这应该可以工作..

    包含的示例代码

    using WindowsApplication1.ConfigWS;
    

    ConfigWS 是我创建的网络参考名称。它必须导入到项目中,并且必须以当前命名空间名称为前缀(如果可用)。

    查看以下用于实例化 ConfigWS webservice 中定义的 webmethod (CreateServer) 的示例代码。

    private void Form1_Load(object sender, EventArgs e)
    {
            WindowsApplication1.ConfigWS.CConfigurationManagerBCWS objWs = new CConfigurationManagerBCWS();
            CReqMsgCreateServer objCreateServer=new CReqMsgCreateServer();
            objCreateServer.objServerConfig =new CServerConfig();
            objCreateServer.objServerConfig.ServerName="****";
            objCreateServer.objServerConfigVOBC.LevelFlag ="---";
            CResMsgCreateServer objRes = objWs.CreateServer(objCreateServer);    
    }
    

    【讨论】:

    • 谢谢拉梅什,很抱歉让您感到痛苦,但您能说得更具体些吗?我通过右键单击我的项目并选择“添加 Web 引用”来使用 VS 添加 Web 引用 - 然后我提供 URL 并为其命名。该名称出现在项目树中。在此之后,我是否需要在 .aspx.vb 文件的顶部添加一个“imports”语句? Intellisense 很高兴我这样做,尽管它需要我的项目名称前缀(即导入 project.reportingservice' - 这仍然在运行时失败,类型未定义。:(
    • 是的,您需要在您的应用程序中手动导入该特定命名空间。并且您的项目名称必须加上前缀。在输入导入时,VS 将在列表中获取该网络引用名称。请澄清一下,它唯一在运行时或编译时抛出异常..??
    • 谢谢,是的,它在运行时,智能感知似乎工作正常,但运行时出现类型未定义错误。我尝试使用 wsdl.exe 创建一个 .vb 代理类 - 将其插入 App_Code 似乎可以解决问题 - 但如果您能提供任何关于我使用直接 Web 参考时可能遇到问题的原因,我将不胜感激。 :)
    • 嗨 Ramesh,还是同样的问题。我不确定这是否是我新安装的 VS2008 的更广泛问题的一部分,它甚至无法编译默认的 aspx 页面而不做任何更改! (不过,我所有的旧网站都可以正常工作)我可能会坚持使用 wsdl.exe :(
    • 修复了!这似乎是另一个涉及 UNC 路径的安全问题。(尽管我不确定具体如何或为什么)。我将项目移动到我的 VS 环境中的本地文件夹,一切都按预期运行。感谢您的所有帮助!
    【解决方案2】:

    您是否在配置中添加了程序集?

    我的程序集部分有以下内容:

    <add assembly="Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/ 在 httpHandlers 我有这个:

    &lt;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" /&gt;

    【讨论】:

    • 感谢 Jon,但我没有使用报表查看器控件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-10
    • 2011-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多