当前位置:首页 >> 信息与通信 >>

vb.tet课件第9章


第9章 Web应用

第9章

Web应用

9.1 建立WebService服务程序 9.2 建立B/S方式的Browse客户端浏览器程序 9.3 建立C/S方式的客户端Windows窗体程序 习题 实验九 网络应用程序开发

第9章 Web应用

9.1 建立 建立WebSe

rvice服务程序 服务程序
【案例9-1】 WebService服务程序的建立。 案例 】 本案例要求建立一个WebService服务程序,并提供一个 服务函数。当用户在客户端界面的第一个文本框输入1~12 任一数字,单击“数字转换为英文单词”命令按钮时,该函 数被调用;调用该WebService服务函数后,返回相应用户在 客户端第一个文本框中输入对应数字月份的英文单词。 服务端和客户端的运行界面分别如图9-1和图9-2所示。

第9章 Web应用

图9-1 WebService提供的服务函数的服务端界面

第9章 Web应用

图9-2 WebService提供的服务函数的客户端界面

第9章 Web应用 说明: 图9-2调用WebService提供的服务函数的客户端界面在 案例9-2中实现,放在这里显示是为了让用户更直观地理解 案例9-1。 【技能目标】 技能目标】 学会建立WebService服务并调用WebService服务。 【操作要点与步骤】 操作要点与步骤】 为了提供WebService服务功能,必须先建立WebService 服务程序。下面是实现WebService服务程序功能的具体操作 步骤。

第9章 Web应用 (1) 启动VS.NET,选择“文件”→“新建”→“项目” 菜单,弹出“新建项目”对话框,如图9-3所示。在该对话 框的“项目类型”中选择“Visual Baisc项目”,在“模板” 列表中选择“ASP.NET Web服务”项,在“位置”文本框 中输入“http://localhost/translateWebService”(程序发布文件 夹的位置)。名称栏自动出现项目名“translateWebService”, 它是只读的,用户不可改写,要改写必须在“位置”文本框 中改写。单击“确定”按钮,系统将自动创建一个 WebService服务站点所需的所有内容(自动建立 tanslateWebService目录,并将该目录配置为虚拟目录)。

第9章 Web应用

图9-3 “新建项目”对话框

第9章 Web应用 说明: WebService服务的translateWebService项目存放在IIS的 Web发布文件夹下,该文件夹通常在“操作系统所在的盘符: \Inetpub\wwwroot\”下,本案例的文件夹在“C:\Inetpub\ wwwroot\translateWebService”下。 系统自动创建一个WebService服务站点所需的所有内容 的前提是在本机上正确安装IIS并启动。 (2) 在图9-3中单击“确定”按钮,屏幕会出现如图9-4 所示的界面,表明计算机正在建立WebService服务站点 tanslateWebService。

第9章 Web应用 (3) 在屏幕出现如图9-4所示的界面后,接着出现如图95所示的界面,表明计算机已建立了WebService服务站点 tanslateWebService。在图9-5所示的界面中可以清楚地看出, 在tanslateWebService解决方案下有一个项目名为 TanslateWebService,在项目TanslateWebService下面有一些 服务器端的服务文件,如服务源文件Service1.asmx.vb。 在图9-5所示的WebService设计界面中,默认文件名为 Service1.asmx.vb,并默认为设计视图页面,该页面的正中 间有一段文字:“若要在类中添加组件,请从服务器资源管 理器或工具箱中拖动它们,然后使用‘属性’窗口来设置它 们的属性。若要为类创建方法和事件,请单击此处切换到代 码视图。”

第9章 Web应用

图9-4 建立WebService服务站点tanslateWebService的界面

第9章 Web应用

图9-5 计算机已建立了WebService服务站点tanslateWebService的界面

第9章 Web应用 说明: 页面的正中间有一段文字说明WebService可以设计自己 的服务界面,如果用户不设计服务界面,则运行服务端的程 序时没有自己的服务界面。 单击页面正中间一段文字的“此处”超链接将切换到代 码视图,系统自动生成的代码如下:

第9章 Web应用
Imports System.Web.Services

<System.Web.Services.WebService(Namespace := "http://tempuri.org/translateWebService/Service1")> _ Public Class Service1 Inherits System.Web.Services.WebService #Region " Web 服务设计器生成的代码" Public Sub New() MyBase.New() ' 该调用是 Web 服务设计器所必需的 InitializeComponent() ' 在 InitializeComponent()调用之后添加您自己的初始化代码 End Sub ' Web 服务设计器所必需的 Private components As System.ComponentModel.IContainer ' 注意: 以下过程是 Web 服务设计器所必需的 ' 可以使用 Web 服务设计器修改此过程 ' 不要使用代码编辑器修改它

第9章 Web应用
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() components = New System.ComponentModel.Container() End Sub Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean) ' CODEGEN: 此过程是 Web 服务设计器所必需的 ' 不要使用代码编辑器修改它 If disposing Then If Not (components Is Nothing) Then components.Dispose() End If End If MyBase.Dispose(disposing) End Sub

#End Region

第9章 Web应用
' Web 服务示例 ' HelloWorld() 示例服务返回字符串 Hello World ' 若要生成项目,则取消注释以下行,然后保存并生成项目 ' 若要测试此 Web 服务,则需确保 .asmx 文件是起始页 ' 并按 F5 键 ' <WebMethod()> _ ' Public Function HelloWorld() As String ' Return "Hello World" ' End Function

End Class

第9章 Web应用 在上面自动生成的源代码中,有一个函数名为 “HelloWorld()”的函数被标注出来。该函数是一个通用的例 子,在源代码中被注释掉了,用户只要将被注释掉的 HelloWorld()函数复制一份,然后去掉复制后代码行前面的 注释符“‘”,最后将HelloWorld()函数名改为自己欲定义 的函数名,并编写实现该定义函数功能的代码即可。 下面是按照上述方法编写实现将number变量保存的数 字转换成相应的英文单词的函数translate()的代码。

第9章 Web应用 说明: HelloWorld()函数前面有一个尖括号的标识符: <WebMethod()>,这个标识符说明这个函数可以通过Web访 问,用户编写的Web函数也必须以<WebMethod()>开始进行 标记。

第9章 Web应用
<WebMethod()> _ Public Function translate(ByVal number As String) As String Select Case number Case 1 Return "January" Case 2 Return "February" Case 3 Return "March" Case 4 Return "April" Case 5 Return "May" Case 6 Return "June" Case 7 Return "July"

第9章 Web应用
Case 8 Return "August" Case 9 Return "September" Case 10 Return "October" Case 11 Return "November" Case 12 Return "December" Case Else Return "输入有错,请输入 1~12" End Select End Function

第9章 Web应用 (4) 此时启动Windows系统的IIS服务管理器,如图9-6所 示。在图9-6中用户可以清楚地看到确实建立了WebService 服务站点,站点名“tanslateWebService”。 (5) 在查看Windows系统IIS服务管理器的WebService服 务站点后,用户可以查看WebService服务站点的物理目录为 C:\Inetpub\wwwroot\translateWebService,如图9-7所示。

第9章 Web应用

图9-6 Windows系统的IIS服务管理器

第9章 Web应用

图9-7 WebService服务站点的物理目录

第9章 Web应用 (6) 按第(3)步建立好Service1.asmx.vb代码后,按F5键运 行程序,会在浏览器中出现图9-1所示的信息。 这其实不是什么“运行结果”,只不过是Visual Studio.NET生成的一个说明页面,类似ReadMe之类的东西, 但是,如果单击图9-1中的translate超链接,则将看到一个测 试页面,如图9-8所示。 (7) 如果在number输入框中填入“6”,如图9-8所示,再 单击“调用”按钮,则一个令人惊异的信息出现在图9-9中。 这是个依照SOAP协议生成的XML页面。用户可能觉得 它很难懂,确实,它也不是给人看的,是给计算机看的。尽 管如此,“June”这个单词还是清楚的,很显然,调用成功 了。

第9章 Web应用

图9-8 translate函数的测试页面

第9章 Web应用

图9-9 对WebService调用的返回

第9章 Web应用 当然,WebService并不是这样调用的,可以用B/S方式 的Browse客户端浏览器窗体案例程序和用C/S方式的 Windows应用程序窗体客户端案例程序调用WebService的服 务程序,这两个案例将在后面进行讲解。 说明: 由于本案例程序为ASP.NET的Web应用程序,ASP.NET 的Web应用程序需要在计算机中装有IIS,因此如果用户的 计算机中没有IIS,则必须安装IIS服务程序。 技巧: 用户在实际建立WebService服务程序时,可能会遇到以 下问题,下面给出这类问题的解决方案。

第9章 Web应用 (1) 有时会在安装完IIS后,却不能正常启动,这可能是 由于计算机防火墙保护所造成的。 下面是解决该问题的操作步骤: ● 由“控制面板”→“管理工具”→“Internet信息服 务”,打开“Internet信息服务”窗口,如图9-10所示。 ● 在图9-10所示的窗口中,单击“工具栏”中的 图标,出现如图9-11所示的出错提示警告框。 ● 出现如图9-11所示的出错提示警告框是由于计算机 个人防火墙处于保护状态,因此应该停止防火墙的保护状态。 ● 在停止防火墙的保护后,再单击图9-10所示窗口的 “工具栏”中的 务”。 图标,这时将会正常启动“Internet信息服

第9章 Web应用

图9-10 “Internet信息服务”窗口

第9章 Web应用

图9-11 出错提示警告框

第9章 Web应用 (2) 有时即使正常启动IIS,也不能正常建立WebService 服务程序。 在建立WebService服务程序时,会出现以下两种情况: ● ?Visual Studio.NET已检测到指定的Web服务器运行 的不是ASP.NET 1.1版。 ● ?Visual Studio.NET无法确定在Web服务器计算机上 运行的是否为ASP.NET 1.1版。 发现以上错误,请检查是否属于以下情况: ① 确保?.NET Framework 1.1版已安装在Web服务器计 算机上。

第9章 Web应用
② 如果ASP.NET已安装在Web服务器计算机上,但仍然遇到此类错 误,则可能是配置问题。纠正有问题的安装或配置,可以使用名为 aspnet_regiis的ASP?.NET实用工具,这个工具可以在如下所示的路径中 找到:
操作系统文件夹\Microsoft.NET\Framework\v1.1.nnnn\

其中:nnnn表示四位内部版本号。 可以使用?/I开关运行该实用工具:
aspnet_regiis /I 说明:

运行该实用工具(aspnet_regiis /I)可以从命令的正确目录中直接打开 该命令窗口,也可以指向Windows的“开始/程序/Visual Studio .NET 2003/Visual Studio .NET工具/Visual Studio .NET命令提示”,在打开的 命令窗口中键入aspnet_regiis /I。

第9章 Web应用
【相关知识】 相关知识】 知识点9-1-1 ASP.NET介绍 知识点 WebService服务是计算机快速发展催生的新兴技术,是微软?.NET 蓝图中最为耀眼的技术之一。在一台计算机上如果有多个程序需要调用 同一个程序模块,则这些程序可以通过COM技术实现。推而广之,如 果在遍布全球的互联网上,世界各地的多个站点上都要调用某个站点上 的程序的功能,那么该怎么办呢?显然,使用COM技术是无法实现的, 而WebService程序就主要用于解决这类问题。WebService程序通常也分 为WebService服务程序和WebService客户程序两大类。WebService服务 程序负责提供服务,WebService客户端程序则负责使用服务。在 VB.NET中,建立WebService程序通常都是以向导方式实现的,用户只 需要在其中添加特定的服务功能代码即可。

第9章 Web应用
ASP?.NET是一个统一的Web开发平台,它为创建Web应用程序和 Web服务提供高级服务,ASP?.NET还提供了一种新的编程模型和底层 结构,从而以前所未有的速度、灵活性和简易性创建功能强大的Web应 用程序。 ASP?.NET并不仅仅是一个新版本,而是Web应用程序编程方面的 一个全新概念和方法。ASP?.NET中的新功能并不是对ASP的改进,设 计它的初衷是为用户提供最佳的应用程序架构。这就意味着在许多领域 中,ASP?.NET与ASP是不兼容的,不过从长远来看,这是一件好事。 ASP .NET ASP 这表明ASP?.NET为应用程序的开发提供了一个功能强大的平台,同时 它也具备了更多的优点。ASP?.NET与ASP是互不干扰的。即使两者之 间有许多不同,安装ASP.NET也不会破坏现有的ASP应用程序,之所以 如此是因为ASP?.NET也有一个新的文件扩展名(.aspx),也就是说,它 们的处理方式和ASP页是不同的。

第9章 Web应用 Web服务是ASP?.NET框架中的一个重要内容,主要用 于程序和程序之间的通信,可以从根本上改变设计应用程序 的方式。以前,应用程序只能运行在离散的、受控制的服务 器组上。而通过Web服务,应用程序可以运行在广泛分布的 资源集上,进行数据的处理和显示,并且不管这些资源是否 具有相同的类型、服务器和操作系统等。Web服务为程序提 供了通过Internet使用SOAP(Simple Object Access Protocol, 简单对象访问协议)进行通信的机制,它支持分布式环境, 而且不再需要关心应用程序使用什么技术。

第9章 Web应用 在VB?.NET中,实际上并不需要知道后台进行了什么 操作。发送给Web服务的信息会由ASP?.NET框架自动转换 为XML协议。ASP?.NET框架管理该过程,接收返回的XML 文档,并把返回的数据按需要放在组件接口上。VB?.NET 在创建Web服务的同时还创建了一个名称为Service1.asmx的 文件。

第9章 Web应用 知识点9-1-2 Web服务及其相关技术 知识点 Web服务就是可编程的URL,即使用标准的Internet协议 (比如HTTP或XML)远程可调用的应用程序组件。它要想成 功用于Internet就需要提供一个与操作系统无关、与程序设 计语言无关、与机器类型无关以及与运行环境无关的平台。 与Web服务相关的技术主要有以下四个方面: ● 表示数据(XML); ● 交换消息(SOAP); ● 服务描述(WSDL); ● 服务发现与分布式Web服务发现技术(UDDI和WSInspection)。

第9章 Web应用 说明: 第一个方面将在知识点9-1-3中介绍,其他三个方面将 分别在知识点9-2-1、知识点9-2-2、知识点9-2-3中介绍。 知识点9-1-3 XML的命名空间 知识点 为了唯一地标识XML元素,必须使用全局唯一的标识 符URI。URI是一个唯一的标识资源的串(Uniform Resource Identifier)。URI分成了两个子类:一个是URL(Universal Resource Locator,统一资源定位符),一个是URN(Uniform Resource Name)。 (1) ?URL不仅定义了从何处获取资源,而且定义了如何 获取资源(即采用何种协议,http还是FTP)。

第9章 Web应用 (2) ?URN代表一个资源与位置无关的串。至于资源在 何处或如何到达资源则没有任何要求,因为一个URN只是 一个唯一的串。其语法提供了全局唯一性。 (3) ?XML模式(XML Schema)是DTD(Document Type Definition)的超集。DTD可以指定元素是包含字符数据还是 其他数据或是一个空元素,DTD不能指定某个特殊元素是 否包含整数、浮点数或字符串。另外,DTD有自己的语法, 而XML模式遵循XML语法。

第9章 Web应用

9.2 建立 建立B/S方式的 方式的Browse客户端浏览器程序 方式的 客户端浏览器程序
【案例9-2】 B/S方式的Browse客户端调用WebService 案例 】 服务。 该案例是设计一个B/S方式的Browse客户端浏览器窗体。 在浏览器窗体的地址栏中输入 “http://localhost/Browse_Client/ WebForm1.aspx”后会出现如 图9-2所示的浏览器窗体,在第一个文本框中输入1~12中的 任一数字字符,单击“数字转换为英文单词”命令按钮,调 用案例9-1中的WebService服务函数,然后在第二个文本框 中显示调用WebService服务函数的返回值,该返回值是第一 个文本框中输入数字字符对应月份的英文单词。

第9章 Web应用 【技能目标】 技能目标】 学会在客户端浏览器窗体中添加Web引用,并运行客户 端浏览器窗体调用WebService服务。 【操作要点与步骤】 操作要点与步骤】 (1) 启动VB?.NET,新建“ASP?.NET Web应用程序” 模板的应用程序,位置为“http://localhost/Browse_Client”, 如图9-12所示。单击“确定”按钮,向导将自动创建一个默 认的Web应用程序。

第9章 Web应用

图9-12 创建Web应用程序

第9章 Web应用 (2) 在图9-12中按下“确定”按钮,屏幕将会出现如图 9-4所示的界面,表明计算机正在建立ASP?.NET Web应用程 序。 (3) 然后,将出现如图9-13所示的界面,表明计算机已 建立了ASP?.NET Web应用程序。在图9-13所示的界面中可 以清楚地看出,在Browse_Client解决方案下有一个项目名为 Browse_Client,在项目名为Browse_Client下面有一些客户端 的文件,如客户端网页文件WebForm1.aspx。

第9章 Web应用

图9-13 已建立了ASP?.NET Web应用程序

第9章 Web应用 (4) 在“解决方案资源管理器”对话框中的项目文件 “Browse_Client”上右击鼠标,弹出快捷菜单,选择“添加 Web引用”菜单,出现“添加Web引用”对话框,如图9-14 所示。 (5) 在图9-14中单击“本地计算机上的Web服务”超级 链接,系统将自动列出本地计算机上的Web服务,如图9-15 所示。 (6) 根据需要选择Web服务,本案例程序选择图9-15中 最后一行超级链接Service1,即URL为 http://localhost/translate Webervice/Servicel.asmx的Service1服 务,系统显示链接的Web服务页,如图9-16所示。

第9章 Web应用

图9-14 “添加Web引用”对话框

第9章 Web应用

图9-15 本地计算机上的Web服务列表

第9章 Web应用

图9-16 Web服务页

第9章 Web应用 (7) 在图9-16中的“Web引用名”位置自动显示Web引用 名为localhost。该Web引用名localhost可以根据需要进行修 改,在后面的代码中要用到此名称,它实际上就是代理类。 单击“添加引用”按钮返回webform1.aspx设计窗体,此时 用户可以清楚地看到在“解决方案资源管理器”的“引用” 项下面多了一个“Web References”引用项,在该引用项下面 是Web引用名localhost,如图9-17所示。 (8) 在图9-17所示的Web窗体中添加两个文本框Web控件 TextBox、两个标签Web控件Label及一个命令按钮Web控件 Button。按表9-1对以上Web控件的属性进行设置后,界面如 图9-18所示。

第9章 Web应用

图9-17 添加“Web引用”后的界面

第9章 Web应用
表 9-1 Web 控件的属性
控件名 Label1 Text Id Label2 Text TextBox1 TextBox2 Readonly Id Button Text True Translate 数字转换为英文单词 Id Id 属性名 Id Label1 输入 1~12 数字 Label2 对应数字月份的英文单词 Txt_num Txt_word 设 置 值

第9章 Web应用

图9-18 添加Web控件并设置属性后的界面

第9章 Web应用 在图9-18中,每个Web控件都有一个与Windows窗体上 的控件不一样的标记,在每个Web控件的左上角有一个绿色 的小箭头,这些Web控件在Web窗体的HTML模板上用做控 件类的引用时都在每个控件前带有前缀asp,例如,文本框 的HTML标记符是asp:Textbox。 (9) 为图9-18所示的窗体中的命令按钮Web控件Button编 写Click事件代码。

第9章 Web应用
Public Class WebForm1 Inherits System.Web.UI.Page #Region " Web 窗体设计器生成的代码 " ' 该调用是 Web 窗体设计器所必需的 <System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent() End Sub Protected WithEvents Label1 As System.Web.UI.WebControls.Label Protected WithEvents Label2 As System.Web.UI.WebControls.Label Protected WithEvents Translate As System.Web.UI.WebControls.Button Protected WithEvents Txt_num As System.Web.UI.WebControls.TextBox Protected WithEvents Txt_word As System.Web.UI.WebControls.TextBox ' 注意: 以下占位符声明是 Web 窗体设计器所必需的 ' 不要删除或移动它 Private designerPlaceholderDeclaration As System.Object Private Sub Page_Init(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles MyBase.Init

第9章 Web应用
' CODEGEN: 此方法调用是 Web 窗体设计器所必需的 ' 不要使用代码编辑器修改它 InitializeComponent() End Sub #End Region Private Sub Translate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _ Handles Translate.Click Dim translate_num As New localhost.Service1 Dim english_word As String english_word = translate_num.translate(Txt_num.Text.Trim()) If (Trim(Txt_num.Text) = "") Then Txt_word.Text = "对不起!输入数字可能不在 1~12 之间,不能转换" Else Txt_word.Text = english_word End If End Sub End Class

第9章 Web应用 (10) 项目的保存与运行。代码输入完成后,先将项目保 存,然后按F5键或单击工具栏上的运行按钮运行该项目。 项目运行后,在第一文本框中输入3,单击命令按钮,调用 WebService服务程序,将在第二个文本框中出现“March”, 效果图如图9-19所示。 另外,也可以打开IE浏览器,在IE浏览器的地址栏中输 入地址信息http://localhost/Browse_Client/WebForm1.aspx后, 在出现的Web窗体中的第一文本框中输入3,单击命令按钮, 调用WebService服务程序,将在第二个文本框中出现 “March”,运行的效果也如图9-19所示。

第9章 Web应用

图9-19 B/S方式的客户端调用WebService服务程序的效果图

第9章 Web应用
通过以上两个案例,用户应该对WebService有了直观的认识。一般 来说,使用COM技术可以让方法调用跨过进程的边界(或者说从一个应 用程序调用另一个应用程序),而使用DCOM技术则可以让方法调用在 局域网内进行,那么通过WebService就使得Web也成了程序之间交流的 场所。所以,WebService使得软件开发的模式发生了根本变化,即在 Web上搭好一个框架,而具体的逻辑可以从各WebService生产者那里购 买。这些WebService服务程序无需像现在的软件那样放在光盘上分发, 而是直接将WebService服务程序放在网站上以供下载,用户只需要知道 WebService 一个地址,就可以在程序中调用它们。如果WebService需要升级,则只 要不改动接口,对用户的使用将毫无影响。 更进一步地,由于WebService是基于标准的HTTP协议来传送的, 因此它可以顺利地通过网关,也就是说,无论有没有网关的限制,整个 Web都可以变成一个巨大的程序来运行。这种协同计算机的能力可能会 产生出今天不敢想象的各种应用。

第9章 Web应用 【相关知识】 相关知识】 知识点9-2-1 简单对象访问协议SOAP 知识点 XML作为Internet上信息交换的标准已经得到了广泛的 应用,SOAP(Simple Object Access Protocol)是用于Web上交 换结构化和类型信息(XML编码信息)的简单的轻量级协议, 它使得任何实现基本的Internet通信服务的系统都能处理和 传送XML消息。 SOAP包括以下四个部分: ● ?SOAP封装(envelop)也称为SOAP信封。该信封定义 了一个描述消息中的内容是什么,是谁发送的,谁应当接收 并处理它以及如何处理它们的框架。

第9章 Web应用 ● ?SOAP编码规则(encoding rules)用于表示应用程序需 要使用的数据类型的实例。 ● ?SOAP RPC RPC样式(请求/响应)的消息交换模式 (RPC representation)表示远程过程调用和应答的协定。 ● ?SOAP绑定(binding)定义了SOAP和HTTP之间的绑 定。 简单地理解,SOAP就是这样的一个开放协议,即 SOAP=RPC+HTTP+XML:采用HTTP作为底层通信协议, RPC作为一致性的调用途径,XML作为数据传送的格式, 允许服务提供者和服务客户经过防火墙在Internet进行通信 交互。

第9章 Web应用 知识点9-2-2 服务描述(WSDL) 知识点 XML是一种编码数据的标准方法。SOAP基于XML定义 了一种消息格式以便交换方法、请求和响应,并最终完成 Web服务的调用;服务描述(WSDL)用于描述如何使用SOAP 来调用Web服务。 WSDL(Web Services Describtion Language)是用来描述 网络服务或终端服务的一种XML语言。它用于定义 WebService以及如何调用它们(描述Web服务的属性,例如 它做什么?它位于何处?如何调用它?等等)。它包含对一 组操作和消息的抽象定义,绑定到这些操作和消息的一个具 体协议和这个绑定的一个具体服务访问规范。

第9章 Web应用 以上三部分描述了Web服务的抽象定义(抽象定义层), 这三部分与具体Web服务部署细节无关,是可复用的描述 (即这三部分可以是Web服务本身,与具体的语言实现、遵 从的平台的细节规范以及被部署到哪台机器无关)。

第9章 Web应用 知识点9-2-3 服务发现与分布式Web服务发现技术(UDDI和 知识点 WS-Inspection) 1.Web服务发现 . 服务发现 Web服务发现是定位或发现一个或多个说明特定的Web 服务的文档的过程。Web服务的客户通过发现来知道某个 Web服务是否存在,以及从哪里获取这个Web服务的文档。 UDDI(Unified Discribtion Discovery Interface)是一种使贸易 伙伴彼此发现对方和查询对方的规范。它使得最终用户通过 搜索企业列表、企业分类或者实际Web服务的可编程描述查 找产品和服务成为了可能。UDDI不仅是一个简易的搜索引 擎,它也包含如何通过编程来和这些Web服务进行交互。

第9章 Web应用 UDDI程序员的API规范是一个文档,概述了供顾客调 用SOAP接口在UDDI站点上执行的每项操作。API规范由两 部分组成:Inquiry API,用于查询和浏览UDDI注册表来发 现最终用户查询的企业和服务;Publisher API,用于添加、 更新和删除UDDI注册表中的企业和服务信息。

第9章 Web应用 2.WS-Inspection(分布式 . 分布式Web服务发现技术 服务发现技术) 分布式 服务发现技术 WS-Inspection为任一类型的Web服务描述文档提供简单 的、分布式的服务发现方法。WS-Inspection技术是现有服务 发现方法(如UDDI)的补充,因为它定义了通过检查Web站 点来获得服务描述的过程。 (1) ?WS-Inspection文档提供一种方法来聚集不同类型的 服务描述。WS-Inspection文档中,一个服务可以有多种对服 务描述的引用。例如,可以既使用 WSDL文件,又在UDDI 注册中心描述一个Web服务。对这两种服务描述的引用应该 放在 WS-Inspection 文档中。

第9章 Web应用 (2) ?WS-Inspection规范的两个主要功能如下: ● 定义XML格式,用于列举对现有服务描述的引用。 ● 定义一组约定,这样能容易地定位WS-Inspection文 档。 (3) ?WS-Inspection文档格式。WS-Inspection文档提供对 服务描述的引用的集合。这些服务描述可以用任何服务描述 格式(例如WSDL、UDDI或者简单HTML)定义。WSInspection文档包含对服务描述的引用列表和对其他WSInspection文档的引用。

第9章 Web应用 WS-Inspection文档包含一个或多个<service>元素和 <link>元素。一个<service>元素包含一个或多个不同类型的 对相同Web服务描述的引用。<link> 元素可包含唯一一类对 服务描述的引用,但是这些服务描述不必引用相同的Web服 务。 (4) 查找WS-Inspection文档。WS-Inspection规范提供的 第二个主要功能是如何定义一个可以访问WS-Inspection文档 的位置。它创建了两个约定,使WS-Inspection文档的位置和 检索变得相对容易。

第9章 Web应用

9.3 建立 建立C/S方式的客户端 方式的客户端Windows窗体程序 方式的客户端 窗体程序
【案例9-3】 C/S方式的客户端Windows窗体调用 案例 】 WebService服务。 通常WebService服务程序是一个需要IIS支持的应用程 序,而WebService客户端程序可以有多种形式,调用 WebService服务程序的客户端程序既可以是“ASP.NET Web”应用程序(如案例9-2),也可以是Windows窗体应用程 序,还可以是其他形式的应用程序。这些调用WebService服 务的客户端程序在调用WebService服务程序中的Web服务时, 其基本原则是一样的,只是在客户端的外观表现不同而已。

第9章 Web应用

图9-20 客户端Windows窗体调用WebService?服务程序的效果图

第9章 Web应用 该案例主要设计一个C/S方式的客户端Windows窗体, 通过客户端Windows窗体调用WebService服务程序。该案例 最终的效果图如图9-20所示。当在图9-20的Windows窗体中 的第一个文本框中输入1~12的任一数字,单击“数字转化 为英文单词”命令按钮时,调用案例9-1中的WebService服 务函数,然后在第二个文本框中显示调用WebService服务函 数的返回值,该返回值是第一个文本框中输入数字字符对应 的英文单词。

第9章 Web应用 【技能目标】 技能目标】 掌握通过客户端Windows窗体调用WebService服务程序 的编程技术,并体会与B/S方式的Browse客户端浏览器窗体 调用WebService服务程序的差异。 【操作要点与步骤】 操作要点与步骤】 (1) 启动VB?.NET,新建一个“Windows应用程序”, 在“位置”文本框中输入“D:\vb.net”,在项目名称栏中填 写“Window_Client”,如图9-21所示。单击“确定”按钮, 系统将自动创建一个Windows应用程序。

第9章 Web应用

图9-21 创建一个Windows应用程序

第9章 Web应用 (2) 在图9-21中单击“确定”按钮后,在出现的窗体上 添加两个文本框Windows控件TextBox,两个标签Windows 控件Label及一个命令按钮Windows控件Button,按表9-2设 置以上Windows控件的属性,其界面如图9-22所示。

第9章 Web应用
表 9-2 Windows 控件的属性
控件名 Label1 属性名 Name Text Label2 TextBox1 TextBox2 Name Text Name Name Readonly Button Name Text Label1 输入 1~12 数字 设 置 值

Label2
数字对应月份的英文单词 Txt_num Txt_word True Translate 数字转化为英文单词

第9章 Web应用

图9-22 添加Windows控件并设置属性后的界面

第9章 Web应用
(3) 为图9-22所示的Windows窗体中的命令按钮Windows控件Button 编写Click事件代码。
Public Class Form1 Inherits System.Windows.Forms.Form #Region " Windows 窗体设计器生成的代码" ' Windows 窗体设计器自动生成的代码略 #End Region Private Sub Translate_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Translate.Click Dim translate_num As New localhost.Service1 Dim english_word As String english_word = translate_num.translate(Txt_num.Text.Trim()) If (Trim(Txt_num.Text) = "") Then Txt_word.Text = "对不起!输入数字可能不在 1~12 之间,不能转换" Else Txt_word.Text = english_word End If End Sub End Class

第9章 Web应用 (4) 在为图9-22所示的Windows窗体中的命令按钮 Windows控件Button编写Click事件代码后,按案例9-2中第 (4)、(5)、(6)、(7)步“添加Web引用”,“添加Web引用” 后的效果图如图9-23所示。Web引用名为localhost,该Web 引用名localhost可以根据需要进行修改,在第(3)步的程序代 码中用到了此名称,它实际上就是代理类。此时用户可以清 楚地看到在“解决方案资源管理器”的引用项下面多了一个 “Web References”引用项,在该引用项下面是Web引用名 localhost,如图9-23所示。

第9章 Web应用

图9-23 “添加Web引用”后的效果图

第9章 Web应用 (5) 项目的保存与运行。代码输入并“添加Web引用” 完成后,先将项目保存,然后按F5键或单击工具栏上的运 行按钮运行该项目。项目运行后,在第一文本框中输入8, 单击命令按钮,调用WebService服务程序,将在第二个文本 框中出现“August”,效果图如图9-20所示。

第9章 Web应用

习 题
一、单项选择 1.在Web Service服务调用中,采用了_____协议。 A. ?COM B. ?CORBA C. ?TCP D. ?SOAP

2.如果在遍布全球的互联网上,世界各地的多个站点都要调用某 个站点上的程序的功能,那么该用_____技术来实现。 A. ?COM技术 B. ?WebService C. ?Web D. ?ASP

3.开发Web Service程序时,首先要开发_____。 A. ?Web Service调用程序 C. ?Web Service服务程序 B. ?Web Service注册程序 D. ?XML应用程序

第9章 Web应用 4.要开发Web Service服务,机器上必须安装______。 A. ?IIS C. 远程登录 B. ?FTP D. ?FrontPage

5.利用ASP?.NET开发的页面文件的扩展名是______。 A. ?asp C. ?htm B. ?aspx D. ?html

第9章 Web应用 二、多项选择 1.ASP?.NET的Web服务相关的技术有______。 A. 表示数据(XML) B. 交换消息(SOAP) C. 服务描述(WSDL) D. 服务发现与分布式Web服务发布技术(UDDI和WSInspection) 2.SOAP(Simple Object Access Protocol)包括______。 A. ?SOAP封装(envelop),也称为SOAP信封 B. ?SOAP编码规则(encoding rules) C. ?SOAP RPC 样式 D. ?SOAP绑定(binding)

第9章 Web应用 三、思考题 1.WebService服务程序通常存放在什么位置? 2.系统自动创建一个WebService服务站点的前提是本 机必须安装并启动Windows的什么组件? 3.WebService服务采用的协议有哪些?试说出 WebService服务的过程。

第9章 Web应用

实验九 网络应用程序开发
一、实验目的 1.理解C/S编程模式。 2.掌握Web Form的创建方法,并比较Windows Form 与Web Form的异同。一个Web Form分别用“设计页面”、 “代码隐藏页面”表示用户界面和编程逻辑两个部分,实现 代码分离即Code Behind。 3.掌握服务器组件的使用,包括HTML服务器组件、 Web服务器组件和验证组件。

第9章 Web应用
二、实验内容 创建网络用户登录界面,如图9-24所示。 基本要求: (1) “姓名”不能为空。 (2) “年龄”应在1~120之间。 (3) “E-mail”格式应该符合要求。 如果输入内容不正确,则应显示相应的提示信息。 实验步骤: (1) 创建Web应用程序,并建立如图9-24所示的Web页面。 窗体上有4个Label控件、4个Textbox控件(其Name属性依次为txtName、 txtAge、txtAddress和txtEmail)以及1个Button控件。

第9章 Web应用

图9-24 网络用户登录界面

第9章 Web应用 (2) 添加RequiredFieldValidator组件验证“姓名”是否为 空。将它的ID属性设置为ValName,属性Controltovalidate设 置为txtName,属性ErrorMessage设置为“姓名不能为空”。 (3) 添加RangeValidator组件验证“年龄”是否在指定范 围。将它的ID属性设置为ValAge,属性Controltovalidate设 置为txtAge,属性ErrorMessage设置为“年龄在1~120之 间”,属性MaximumValue设置为120,属性MinimumValue 设置为1。

第9章 Web应用 (4) 添加RegularExpressionValidator组件验证“E-mail”格 式是否正确。将它的ID属性设置为ValEmail,属性 Controltovalidate设置为txtEmail,属性ErrorMessage设置为 “请输入正确的E-mail地址”,属性ValidationExpression设 置为Internet电子邮件地址。 (5) 运行程序,观察结果。 思考: (1) 查阅资料,了解IIS中虚拟目录的位置。 (2) 查看Web应用程序中所包含的文件,了解各文件的 功能,理解Web Form中代码分离(Code Behind)技术的优点。


相关文章:
vb 部分课件整理
() Show Open "mytxt.txt" For Output As #1 ...() 9 arlph = arlph - 360 / 60 * pi / ...vb课件第6章 53页 免费 VB课件第3章 60页 免费...
vb课件1-10讲
搜 试试 帮助 全部 DOC PPT TXT PDF XLS ...vb第章第一讲课件(新)-1 41页 免费 VB课件-...VB 程序设计第 9 讲阅读 80 次 VB 程序设计第 ...
河北科技大学VB课件第六章例
搜试试 2 悬赏文档 全部 DOC PPT TXT PDF XLS ...河北科技大学VB课件第六章例_理学_高等教育_教育...4 5 6 2 4 9 7 -9 0 1 8 -5 3 6 9 ...
河北科技大学VB课件第七章例
搜试试 2 悬赏文档 全部 DOC PPT TXT PDF XLS 广告 百度文库 教育专区 ...河北科技大学VB课件第七章例_理学_高等教育_教育专区。1. 子过程 Private Sub...
VB课件第3章顺序结构
搜 试试 7 帮助 全部 DOC PPT TXT PDF XLS 百度文库 专业资料 人文社科 ...9(小五号字) 例:FontSize=30 VB 常数 VBBlack VBBlue VBGreen VBCyan ...
河北科技大学VB课件第三章例
搜试试 2 悬赏文档 全部 DOC PPT TXT PDF XLS 广告 百度文库 教育专区 ...河北科技大学VB课件第三章例_文学_高等教育_教育专区。a=0 b=0 c=-1 let...
VB课件-数据控件编程与多媒体编程
搜 试试 7 帮助 全部 DOC PPT TXT PDF XLS ...→connect9 属性表示连接的数据库类型:选择“ACCESS...第十七章 VB 多媒体技术§1. 多媒体概述在 ...
VB课件第2章数据与表达式
搜 试试 帮助 全部 DOC PPT TXT PDF XLS ...VB课件VB课件隐藏>> 第二章 VB 语言基础 语法单位...9,串变值函数:Val(x) ,串变值函数: 功能: 中...
Rewtet re tet Re1w2tet2 re tet
152页 1财富值 CMOS TET 1页 20财富值 vb.tet课件第7章 122页 免费 vb.tet课件第9章 87页 1财富值喜欢此文档的还喜欢 住房公积金方案2010.4 4页 5财富...
VB课件--第5讲 数组
VB第8次课课件(第4章数组... 43页 1下载券 VB...Dim a%(5 To 9) a(9)存放 90~100 分的人数...盘根目录下有一个顺序文件 Data.txt,其中存有 20...
更多相关标签:
vb课件 | vb课件ppt | vb.net 课件 | vb课件下载 | 论语十二章ppt课件 | 论语十二章课件 | 孟子两章ppt课件 | 孟子二章课件 |