您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > webservice应用实验
VisualBasic.NET程序设计基础WebService应用[学习目标]主要介绍VB.NET中强大的WebService功能。学习建立服务器端WebService网络服务程序、B/S方式的Browse客户端浏览器程序和C/S方式的Windows应用程序窗体客户端程序,调用WebService网络服务程序的方法。随着Internet的广泛应用和发展,任何一种应用程序开发语言如果不具备Web开发能力,必将被市场所淘汰。为此,Microsoft公司在加强.NET框架的传统应用程序设计能力的同时,重点提升了各个语言的Web应用程序开发能力和效率。在VB.NET中,提供了更加直观和方便的Web应用程序开发环境。一建立WebService服务程序【实验1】WebService服务函数的建立。本实验是建立一个WebService服务程序,它提供了一个服务函数。函数当用户在客户端界面的第一个文本框输入0~9任一数字,单击“将数字字符转化为英文单词”命令按钮时被调用;调用该WebService服务函数后,返回相应用户在客户端第一个文本框中输入数字字符对应的英文单词。服务端和客户端的运行界面效果图分别如图1和图2所示。图1-1WebService提供的服务函数WebService应用图1-2调用WebService提供的服务函数的客户端界面图1-2调用WebService提供的服务函数的客户端界面在实验2中实现,放在这里显示是为了让用户更直观地理解实验1。[技能目标]学会建立、发布WebService服务并调用WebService服务。[操作要点与步骤]为了提供WebService服务功能,必需先建立WebService服务程序,下面是实现本实例WebService服务程序功能的具体操作步骤:1.建立服务项目启动VS.NET,选择“文件→新建→项目”菜单,弹出“新建项目”对话框,如图1-3所示,在该对话框的“项目类型”中选择“VisualBaisc项目”,在“模板”列表中选择“ASP.NETWeb服务”项,在“位置”文本框中输入“E:\WS”程序发布文件夹的位置。名称栏输入项目名“translateWebservice”,解决方案栏自动出现“translateWebservice”,它是只读的,用户不可改写,要改写必须在在“名称”文本框中改写。单击“确定”按钮,系统将创建一个WebService服务项目VisualBasic.NET程序设计基础图1-3新建项目对话框2.创建WebService函数在图1-3所示单击“确定”按钮,屏幕会出现如图1-4所示的界面,可以清楚地看出在TanslateWebservice解决方案下有一个项目名为TanslateWebservice,在项目名为TanslateWebservice下面有一些服务器端的服务文件。例如:服务源文件Service1.asmx。在图1-4Webservice设计界面,界面中默认文件名为Service1.asmx.vb,并默认为设计视图页面,该页面的正中间有一段文字:“若要在类中添加组件,请从服务器资源管理器或工具箱中拖动它们,然后使用属性窗口来设置它们的属性,若要为类创建方法和事件,请单击此处切换到代码视图。”页面的正中间有一段文字说明Webservice可以设计自己的服务界面,如果用户不设计服务界面,则运行服务端的程序时是没有自己的服务界面的。WebService应用图9-4计算机已建立了Webservice项目TanslateWebservice的界面单击页面正中间一段文的[此处]超链接将切换到代码视图,系统自动生成的代码如下:ImportsSystem.Web.ServicesImportsSystem.Web.Services.ProtocolsImportsSystem.ComponentModel'若要允许使用ASP.NETAJAX从脚本中调用此Web服务,请取消对下行的注释。'System.Web.Script.Services.ScriptService()_System.Web.Services.WebService(Namespace:=)_System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.BasicProfile1_1)_ToolboxItem(False)_PublicClassService1InheritsSystem.Web.Services.WebServiceWebMethod()_PublicFunctionHelloWorld()AsStringReturnHelloWorldEndFunctionEndClass在上面自动生成的源代码中,有一个函数名为“HelloWorld()”的函数,该函数是一个通用的例子,用户只要将HelloWorld()函数复制一份,然后将HelloWorld()函数名改为自己欲定义的函数名,并编写实现该定义函数功能的代码即可。下面是按照上述方法编写实现将number变量保存的数字转换成相应的英文单词的函数translate()的代码。VisualBasic.NET程序设计基础HelloWorld()函数前面有一个尖括号的标识符:WebMethod(),这个标识符说明了这个函数可以通过WEB访问,用户编写的WEB函数也必须以WebMethod()开始进行标记。WebMethod()_PublicFunctiontranslate(ByValnumberAsString)AsStringSelectCasenumberCase0ReturnzeroCase1ReturnoneCase2ReturntwoCase3ReturnthreeCase4ReturnfourCase5ReturnfiveCase6ReturnsixCase7ReturnsevenCase8ReturneightCase9ReturnnineCaseElseReturn输入有错,请输入0~9EndSelectEndFunction4.发布WebService选择“生成→发布WebService1”菜单,如图1-5图1-5发布菜单启动“发布Web”对话框,如图1-6在“服务URL”和“网站/应用程序”文本框中分别输入:“”和“默认网站/translateWebService”,单击“发布”按钮,若无错误,则提示“发布成功”。WebService应用图1-6发布Web对话框此时启动Windows系统IIS服务管理器,如图1-7所示,从图1-7用户可以清楚地看到确实建立了Webservice服务站点,站点名“TranslateWebservice”。VisualBasic.NET程序设计基础图1-7Windows系统IIS服务管理器在查看Windows系统IIS服务管理器的Webservice服务站点后,用户可以查看Webservice服务站点物理目录在E:\WS\translateWebService\translateWebService下。如图1-8所示。WebService应用图1-8Webservice服务站点物理目录6.按第4步发布WebService后,在IIS服务管理器中浏览“Service1.asmx”,会在浏览器中出现前面在实验1所说明的图1-1所示的信息。这其实不是什么“运行结果”,只不过是VisualStudio.NET生成的一个说明页面,类似ReadMe之类的东西,但是,如果单击图1-1中的Translate超链接,就会看到一个测试页面,如图9-8所示。7.如果在number输入框中填入“6”,如图1-9所示,然后单击[调用]按钮,一个令人惊异的信息出现在如图1-10所示。这是一个依照SOAP协议生成的XML页面。用户可能觉得它很难懂,确实,它也不是给人看的,是给计算机看的。尽管如此,“six”这个单词还是清楚的,很显然,调用成功了。当然,WebService并不是这样调用的,可以用B/S方式的Browse客户端浏览器窗体实验程序和用C/S方式的Windows应用程序窗体客户端实验程序调用WebService的服务程序这两个实验在后面将作讲解。由于本实验程序为ASP.NET的Web应用程序,ASP.NET的Web应用程序需要在计算机中装有IIS,如果用户的计算机中没有IIS,则必须安装IIS服务程序。用户在实际建立WebService服务程序时,可能会遇到以下问题,笔者提供这类问题的解决方案如下:VisualBasic.NET程序设计基础图1-9Translate函数的测试页面图1-10对WebService调用的返回[相关知识]WebService应用WebService服务是计算机的快速发展催生的新兴技术,是微软.NET蓝图中最为耀眼的技术之一。在一台计算机上,如果有多个程序需要调用同一个程序模块,则这些程序可以通过COM技术实现;推而广之,如果要在遍布全球的互联网上、世界各地的多个站点都要调用某个站点上的程序的功能,该怎么办呢?显然,使用COM技术是无法实现的,而WebService程序就是主要解决这类问题的。WebService程序通常也分为WebService服务程序和WebService客户程序两大类,WebService服务程序负责提供服务,WebService客户端程序则负责使用服务。在VS.NET中,建立WebService程序通常都是以向导方式实现的,用户只需要在其中添加特定的服务功能代码即可。ASP.NET是一个统一的WEB开发平台,它为创建WEB应用程序和WEB服务提供高级服务,ASP.NET提供了一种新的编程模型和底层结构,从而以前所未有的速度、灵活性和简易性创建功能强大的WEB应用程序。ASP.NET并不仅仅是一个新版本,而是Web应用程序编程方面的一个全新概念和方法。ASP.NET中的新功能并不是对ASP的改进,设计它的初衷是为用户提供最佳的应用程序架构。这就意味着在许多领域中,ASP.NET与ASP是不兼容的,不过从长远来说这是一件好事。这表明ASP.NET为应用程序的开发提供了一个功能强得多的平台,同时它也具备了更多的优点。ASP.NET与ASP是互不干扰的。即使两者之间有许多不同,但安装ASP.NET并不会破坏现有的ASP应用程序,之所以如此是由于ASP.NET页有一个新的文件扩展名(.aspx),也就是说它们的处理方式和ASP页是不同的。Web服务是ASP.NET框架中的一个重要的内容,主要用于程序和程序之间的通信,可以从根本上改变设计应用程序的方式。以前,应用程序只能运行在离散的、受控制的服务器组上。而通过Web服务,应用程序可以运行在广泛分布的资源集上并进行数据的处理和显示,并且不管这些资源是否具有相同的类型、服务器和操作系统等。Web服务为程序提供了通过Internet使用SOAP(SimpleObjectAccessProtocol,简单对象访问协议)协议进行通信的机制,它支持分布式环境,而且不再需要关心应用程序使用什么技术。在VB.NET中,实际上并不需要知道后台进行了什么操作。发送给Web服务的信息会由ASP.NET框架自动转换为XML协议。ASP.NET框架管理该过程,接收返回的XML文档,并把返回的数据按需要放在组件接口上。VB.NET在创建Web服务的同时创建一个名称为Service1.asmx的文件。Web服务就是可编程的URL,就是使用标准的Internet协议(比如HTTP或XML)远程可调用的应用程序组件。它要想成功用于Internet就需要提供一个与操作系统无关、与程序设计语言无关、与机器类型无关、与运行环境无关的平台。与WEB服务相关的技术主要有以下四个方面1.表示数据(XML)2.交换消息(SOAP)3.服务描述(WSDL)4.服
本文标题:webservice应用实验
链接地址:https://www.777doc.com/doc-2867064 .html