以下教程明了从使用 Microsoft Visual Basic Microsoft Visual C# 建的用程式访问报表服 Web 程。
在本教程的程中,您将完成下列活
使用“Visual Studio .NET 控制台用程式目模板建客用程式。
添加表伺服器 Web Web 引用。
访问 Web 的代
调试模式运行控制台用程式。

1
Web

针对本演,您将访问报表服 Web 简单控制台用程式。本演假定您是在 Visual Studio 境中开发的。
建控制台用程式
1.
文件功能表中,指向新建,再单击以打新建对话
2.
“Visual Basic “Visual C# 文件
3.
单击控制台用程式图标
4.
名称框中,入您目的名称。入名称 GetPropertiesSample
5.
位置框中,入保存目的路径,或单击浏览航到所需文件
6.
单击确定源管理器中将示您目的折叠视图
源管理器中,展开该项点。默名称 Program.cs(在 Microsoft Visual Basic Module1.vb)的文件已添加到您的目中。

2
:添加 Web 引用

Web
务发现是客端搜 Web 取其服务说明的程。Visual Studio 中的 Web 务发现过询问网站是否遵循定演算法。此程的目的是搜务说明,它是使用 Web 描述 (WSDL) 的一个 XML 文档。
务说明介了哪些服可用,以及如何与些服务进行交互。没有服务说明,就不可能通过编程方式与 Web 务进行交互。
您的用程式必方式与 Web 通信并在运行找到。添加 Web 务项目的 Web 引用可以做到点,这种方法将生成与 Web 务连接并提供 Web 的本地表示形式的代理。有关详细资讯 Visual Studio .NET 文档中的“Web 引用和生成 XML Web services 代理
添加 Web 引用
1.
功能表中,单击添加 Web 引用
2.
添加 Web 引用 URL 框中,入可表伺服器 Web 务说明的 URL,如 http://localhost/reportserver/reportservice2005.asmx?wsdl。然后单击即可 Web 资讯
-
-
如果本地电脑上存在表伺服器 Web 则单击浏览器窗格中的本地电脑上的 Web 链结。然后在提供的列表中单击 ReportService2005 Web 链结
3.
“Web 引用名框中,将 Web 引用重命名 ReportService2005是将用于 Web 引用的命名空
4.
单击添加引用可添加目 Web Web 引用。
Visual Studio
将下务说明并生成一个代理,以在您的用程式和表伺服器 Web 间进接。

3
访问 Web

表服 Web 的引用添加到目中后,下一 Web 代理例。然后,您可以通过调用代理中的方法来访问 Web 的方法。当用程式些方法Visual Studio 生成的代理用程式与 Web 的通信。
首先,您将建一个 Web 代理 ReportingService2005。接着,您将使用代理类调 Web GetProperties 方法。您将使用该调用来索一个示例 Company Sales 的名称和明。
访问 Web
1.
首先,您必将命名空添加到 Program.cs 文件(在 Visual Basic Module1.vb),採用的方法是向代文件中添加 using(在 Visual Basic Import)指令。如果您使用指令,不必完全限定命名空中的型。
此,在代文件的开头添加以下代
Visual Basic
制到剪
到剪
Imports System Imports GetPropertiesSample.ReportService2005
C#
制到剪
制到剪
using System; using GetPropertiesSample.ReportService2005;

Visual Basic
制到剪
制到剪
Sub Main() Dim rs As New ReportingService2005 rs.Credentials = System.Net.CredentialCache.DefaultCredentials rs.Url = "http://myserver/reportserver/reportservice2005.asmx" Dim name As New [Property] name.Name = "Name" Dim description As New [Property] description.Name = "Description" Dim properties(1) As [Property] properties(0) = name properties(1) = description Try Dim returnProperties As [Property]() = rs.GetProperties("/AdventureWorks Sample Reports/Company Sales", properties) Dim p As [Property] For Each p In returnProperties Console.WriteLine((p.Name + ": " + p.Value)) Next p Catch e As Exception Console.WriteLine(e.Message) End Try End Sub

C#
制到剪
制到剪
static void Main(string[] args) { ReportingService2005 rs = new ReportingService2005(); rs.Credentials = System.Net.CredentialCache.DefaultCredentials; rs.Url = "http://myserver/reportserver/reportservice2005.asmx"; Property name = new Property(); name.Name = "Name"; Property description = new Property(); description.Name = "Description"; Property[] properties = new Property[2]; properties[0] = name; properties[1] = description; try { Property[] returnProperties = rs.GetProperties("/AdventureWorks Sample Reports/Company Sales", properties); foreach (Property p in returnProperties) { Console.WriteLine(p.Name + ": " + p.Value); } } catch (Exception e) { Console.WriteLine(e.Message); } }

示例代使用 Web GetProperties 方法来索示例 Company Sales 的属性。GetProperties 方法採用两个参数:一个是要索其属性资讯表的名称,一个是 Property[] 象数,它包含要索其的属性的名称。方法返回一个 Property[] 象的数,其中包含在属性参数中指定的属性名称和属性
注意:

如果您属性参数提供空 Property[] 将返回所有可用属性。
在前面的示例中,代使用 GetProperties 方法返回示例 Company Sales 的名称和明。然后,代使用 foreach 迴圈将属性和写入控制台。

4
:运行用程式 (VB/VC#)

Visual Studio
提供了几 IDE 生成和运行控制台用程式的方法,例如:
行(调试
行(不调试
生成并运行 GetPropertiesSample
1.
调试功能表中,单击(调试)”操作可确保控制台窗口在程式行完后保持打
用程式将以下出内容列印到控制台:
制到剪
Name: Company Sales Description: Adventure Works sales by quarter and product category.
This report illustrates the use of a matrix data region that provides drilldown from summary data into detail data by showing and hiding rows. This report also illustrates the use of background images. Press any key to continue...
2. 按任意键关闭 GetPropertiesSample

posted on 2007-12-28 11:54  -cp-  阅读(456)  评论(0)    收藏  举报