使用 ASPNET Web 应用程序项目模板创建客户端应用程序
为 XML Web services 添加 Web 引用
编写代码以访问 XML Web services在调试模式下运行 Web 应用程序
部署 Web 应用程序
要完成演练必须提供以下内容
由于本演练使用了一个 Web 应用程序来访问 XML Web services因此您必须提供满足创建 Web 项目的要求的计算机有关更多信息请参见asp>创建 Web 项目和 asp>Visual Studio NET 软件要求要在 Web 服务器所在的计算机上创建 XML Web services 项目您同样需要具有足够的权限有关详细信息请参见 asp>Visual Studio 中设计时的 Web 应用程序安全性
由下列演练之一创建的 XML Web servicesasp>演练使用 Visual Basic 或 Visual C# 创建 XML Web services asp>演练使用 ATL Server 创建 XML Web services asp>演练使用 C++ 托管扩展创建 XML Web services创建 XML Web services 客户端项目在本演练中您将创建一个简单的 Web 应用程序该应用程序将访问 TempConvert XML Web services(这是赋予asp>演练使用 Visual Basic 或 Visual C# 创建 XML Web services 中创建的 XML Web services 的名称)
注意 若要访问温度转换 XML Web services 的不同实现只需在此演练的整个过程中将出现的名称 TempConvert 替换为相应的名称
创建 ASPNET Web 应用程序
在文件菜单上指向新建然后单击项目以打开新建项目对话框
展开Visual Basic 项目或Visual C# 项目文件夹
单击ASPNET Web 应用程序图标
输入要在其中开发 Web 应用程序的 Web 服务器地址并指定 TempConvertClient 作为目录名如//MyServer/TempConvertClient默认情况下项目使用本地计算机//localhost
注意 对于某些项目类型名称文本框不可用因为在指定位置时就设置了项目名例如Web 应用程序和 XML Web services 位于 Web 服务器上它们的名称从该服务器上指定的虚拟目录导出
注意 您是在开发服务器上开发 Web 应用程序默认情况下开发服务器是本地计算机通常在开发服务器上开发和生成项目然后使用部署项目将其部署到承载该 Web 应用程序的另一服务器(部署服务器)上但是如果直接在将承载该 Web 应用程序的服务器上进行开发则开发服务器与部署服务器相同
单击确定创建项目
从工具箱的Web 窗体选项卡中将文本框标签和按钮拖动到 WebFormaspx 的设计图面上然后按您的喜好排列它们
右击您添加的按钮 Button然后在快捷菜单上单击属性在属性窗口中将 Text 属性设置为 Convert右击您添加的标签 Label然后在快捷菜单上单击属性在属性窗口中清除 Text 属性以使此标签成为空白标签
添加 Web 引用XML Web services 发现是客户端定位 XML Web services 和获取其服务说明的过程Visual Studio 中的 XML Web services 发现过程涉及按照预先确定的算法询问 Web 站点该过程的目的是定位服务说明服务说明是使用 Web 服务描述语言 (WSDL) 的 XML 文档有关更多信息请参见 asp>XML Web services 发现
服务说明描述哪些服务可用以及如何与这些服务交互没有服务说明便无法以编程方式与 XML Web services 交互有关更多信息请参见 asp>XML Web services 说明
应用程序必须具有与 XML Web services 通信和在运行时找到该服务的方法向项目添加对 XML Web services 的 Web 引用是通过生成一个代理类来完成此操作的该代理类与 XML Web services 进行接口操作并提供 XML Web services 的本地表示形式有关更多信息请参见 asp>Web 引用和asp>生成 XML Web services 代理
添加 Web 引用
在项目菜单上单击添加 Web 引用
在添加 Web 引用对话框的URL框中键入 URL 以获得要访问的 XML Web services 的服务说明如 然后单击执行按钮以检索有关该 XML Web services 的信息
或
如果该 XML Web services 位于本地计算机上请单击浏览器窗格中的本地计算机上的 Web 服务链接然后从所提供的列表中单击 TempConvert XML Web services 链接以检索有关该 XML Web services 的信息
在Web 引用名框中将 Web 引用重命名为 ConvertSvc(它就是将用于该 Web 引用的命名空间)
单击添加引用为目标 XML Web services 添加 Web 引用有关更多信息请参见asp>添加和移除 Web 引用
Visual Studio 将下载服务说明并生成一个作为应用程序和 XML Web services 之间的接口的代理类
访问 XML Web services一旦将 XML Web services 的引用添加到项目中下一步就是创建 XML Web services 代理类的实例然后就可以按照与访问任意对象的方法相同的方式通过调用代理类中的方法来访问 XML Web services 的方法当应用程序调用这些方法时由 Visual Studio 生成的代理类代码将处理应用程序与 XML Web services 之间的通信
首先创建 XML Web services 代理类的实例接下来将接受一个在 TextBox 中提供的值然后使用该代理类对 XML Web services 的 ConvertTemperature 方法进行调用然后在 Label 中显示从 XML Web services 中返回的值
访问 XML Web services
在 WebFormaspx 上双击转换按钮为该按钮创建事件处理方法并显示代码隐藏文件
注意 默认情况下解决方案资源管理器会隐藏代码隐藏文件在解决方案资源管理器工具栏中单击显示所有文件查看隐藏文件或者在项目菜单上单击显示所有文件
输入下列代码 Visual Basic Private Sub Button_Click(ByVal sender As Object _ ByVal e as EventArgs) Handles ButtonClick Dim ws As New ConvertSvcService()
Dim dFahrenheit As Double Dim dCelsius As Double Try dFahrenheit = ConvertToDouble(TextBoxText)
dCelsius = wsConvertTemperature(dFahrenheit)
LabelText = dCelsiusToString()
Catch LabelText = Conversion failed End Try End Sub // C# protected void Button_Click (SystemObject sender SystemEventArgs e)
{ try { ConvertSvcService ws = new ConvertSvcService()double dFahrenheit = ConvertToDouble(TextBoxText)double dCelsius = wsConvertTemperature(dFahrenheit)LabelText = dCelsiusToString()} catch { LabelText = Conversion failed}注意 添加 Web 引用时生成的 XML Web services 类的名称可能与上面显示的 Service 名称不同
在解决方案资源管理器中选择 WebFormaspx在项目菜单上指向Web 项目然后单击设为起始页
保存解决方案
有关更多信息请参见asp>访问托管代码中的 XML Web services
调试 XML Web services 客户端Visual Studio 提供了若干方法用于从 IDE 生成并运行 Web 应用程序如
开始执行(带调试)
开始执行(不调试)
在浏览器中查看作为 Visual Studio 项目此 Web 应用程序的发布版本和调试版本的配置不同由于创建此项目时使用的是 ASPNET Web 应用程序项目模板因此 Visual Studio 自动创建这些配置并设置适当的默认选项和其他设置有关更多信息请参见asp>调试和发布配置
本演练中您将在 Button_Click 事件中放置一个断点并将使用开始执行(带调试)方法有关更多信息请参见asp>调试托管代码中的 XML Web services
调试前请验证调试设置有关更多信息请参见asp>调试准备ASPNET Web 应用程序
使用断点和启动 Web 应用程序并进行调试
在调试菜单上单击新断点
在函数选项卡的函数框中键入 Button_Click并单击确定在 Button_Click 事件处理程序中放置一个断点有关更多信息请参见asp>新断点对话框
在调试菜单上单击启动
该命令指示 Visual Studio 在调试器中运行 Web 应用程序Visual Studio 生成项目并将其部署到指定的开发服务器中完成后将启动默认浏览器并导航到部署服务器上的 aspx 文件
在调试菜单上单击停止调试停止运行 Web 应用程序并返回到代码编辑器
当页显示在浏览器中之后在文本框中键入数字 然后单击转换按钮
当处理到达 Button_Click 事件处理程序时处理停止Visual Studio 调试器突出显示包含断点的行在该调试器暂停时您可以执行各种任务有关更多信息请参见asp>使用调试器和asp>用于检查程序的调试工具
在调试菜单上单击继续可继续进行处理
XML Web services 以返回转换值的形式做出响应并且应用程序将 Label 的文本设置为 若要停止运行该 Web 应用程序并返回到代码编辑器中请在调试菜单上单击停止调试
在调试菜单上单击清除所有断点
部署客户端若要使 Web 应用程序可由他人使用必须将其部署到客户端(您希望支持该客户端进行访问)可访问的 Web 服务器若要将 Web 应用程序部署到开发服务器以外的服务器可以添加 Web 安装项目或者将所需的文件复制到目标服务器本演练中可以选择如何部署此 Web 应用程序有关更多信息请参见asp>部署应用程序和组件
使用 Web 安装项目部署 Web 应用程序
在文件菜单上指向添加项目然后单击新建项目
选择安装和部署项目文件夹然后单击Web 安装项目
在名称框中键入 TempConvertClientWebSetup然后单击确定
注意 默认情况下在部署服务器上创建虚拟目录时安装程序将使用部署项目名称
在文件系统编辑器的左窗格中选择Web 应用程序文件夹有关更多信息请参见asp>文件系统编辑器
在解决方案资源管理器中右击 TempConvertClientWebSetup指向添加然后单击项目输出
在添加项目输出组对话框中选择内容文件主输出和调试符号有关更多信息请参见asp>在文件系统编辑器中添加和移除项目输出
内容文件组由 Web 应用程序的其余文件(如 WebFormaspx 和 nfig)组成
主输出组由项目 DLL TempConvertClientdll 及其依赖项组成
调试符号组由项目 PDB 文件 TempConvertClientpdb 组成
单击确定
在解决方案资源管理器中右击 TempConvertClientWebSetup 项目然后在快捷菜单上单击生成
该操作将在本地项目目录中创建一个 Windows 安装程序文件执行该文件即可安装 Web 应用程序
通过复制项目来部署 Web 应用程序
在解决方案资源管理器中选择 TempConvertClient 项目
在项目菜单上单击复制项目
在目标项目文件夹框中输入要将该项目复制到的位置
单击FrontPage或文件共享以选择Web 访问方法有关更多信息请参见asp>更改 Web 项目访问方法
单击仅限于运行该应用程序所需的文件
单击确定