您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > NET平台及Web服务
文库专用1第10章.NET平台及Web服务文库专用2计算机网络是当前最流行的计算机领域,网络的最大优点就在于它可以提供资源共享,从而最大幅度地提高信息的复用度。Web是现代最流行的络服务方式,大体可以分为静态Web页面和动态Web页面。文库专用310.1什么是Microsoft.NET.NET是Microsoft(微软)公司为适应Internet发展的需要,所提供的特别适合网络编程和网络服务(WebService)的开发平台。就是将一切都Internet/Web化,让应用程序通过互联网来互相沟通,并同时共享彼此的资源。是以互联网为基础,通过互联网上标准的通信协议来沟通,以全新的开发环境来开发应用程序。NET的核心是.NET框架(.NETFramework)它是构建于以互联网为开发平台的基础工具。.NET框架的最上层是应用程序,可以大致分为网络应用的ASP.NET程序和面向Windows系统的Windows应用程序,这两类应用程序均可使用VC#.NET、VC++.NET、VB#.NET等来编写。.NET框架的中间一层是基础类库,它提供一个可以供不同编程语言调用的、分层的、面向对象的函数库。.NET框架的最底层是公共语言运行环境(CLRCommonLanguageRuntime),它提供了程序代码可以跨平台执行的机制。文库专用4什么是Web应用程序在Web世界中,使用者不需要知道对方在世界的哪个角落,不需要知道对方的操作系统是什么类型,所需要知道的只是对方的域名或IP地址,就可以像操作自己计算机一样访问对方的计算机。在这个网络世界中,需要共享的程序或资源一般被放置到一种称为服务器(Server)的计算机上,用户则使用自己计算机上的特定软件访问服务器,用户的计算机被称为客户机(Client)。服务器端负责处理来自客户端的请求,而客户端则负责和用户进行交互。二者之间通过通信建立了客户机/服务器(Client/Server,简称为C/S)模式的运算模型。文库专用5在Web世界中,Web访问的客户端软件不需要编程人员编写,而是采用专门的、统一的浏览器,如InternetExplorer或Netscape。由于Web访问具有了这个特点,所以人们称这种模型为浏览器/服务器(Browse/Server,简称为B/S)模式。这种模式下,用户主机只要安装统一的网页浏览器就可以访问几乎所有的B/S结构服务器,而页面的改变则全部由服务器一方完成,这种方式非常适合于在互联网上应用。文库专用6设计Web窗体C#全面支持了当前流行的几种主要Web服务访问和提供方式。设计一个Web窗体有如下4个步骤:1.页面初始化当页面初始化时,发生的第一个事件是Page_Init。系统会完成创建和设置一个窗体所需要的所有初始化步骤。2.页面装载页面装载发生在初始化之后,所发生的事件是Page_Load。3.事件处理4.资源清理最后一步发生在一个窗体完成任务并且准备卸载的时候,这时引发Page_Unload事件,完成最后的资源清理工作,比如销毁对象。文库专用710.2Web服务的概念Web服务(WebService)指一台服务器通过软件向外界提供各种Web方面的服务,是指企业发布的、完成其特别商务需求的在线应用服务,其他公司或应用软件能够通过Internet来访问并使用这项在线服务。Web服务安装到服务器后使用任何能访问本机的网络用户都能够通过网络来调用这个Web服务。通常把调用这个Web服务的应用程序叫做客户。WebService是新一代分布式系统的核心,它具有如下特点:互操作性:任何的WebService都可以与其他WebService进行交互。普遍性:WebService使用HTTP和XML进行通信。易于使用:WebService背后的概念易于理解,。行业支持:所有主要的供应商都支持SOAP和周边WebService技术文库专用810.2.1如何编写Web服务ASP.NET通过.asmx文件来支持,与.aspx文件一样,它们是按照URI方式寻址的。选“文件”|“新建”|“项目”,然后在书左边的“项目类型”中选择“VisualC#项目”,在右边的“模板”选项中选择“ASP.NETWeb服务”。和前面的Web窗体一致,创建好的项目可以通过Windows资源管理器查看。在网站默认目录下(一般是C:\inetpub\)下。文库专用9选“文件”|“新建”|“项目”,然后在下图的左边的“项目类型”中选择“VisualC#项目”,在右边的“模板”选项中选择“ASP.NETWeb服务”。和前面的Web窗体一致,创建好的项目可以通过Windows资源管理器查看。在网站默认目录下(一般是C:\inetpub\)下。文库专用10源代码:usingSystem;usingSystem.Collections;usingSystem.Data;usingSystem.Web;usingSystem.Web.Services;namespaceWebService2{publicclassService1:System.Web.Services.WebService{publicService1(){//CODEGEN:该调用是ASP.NETWeb服务设计器所必需的InitializeComponent();}……[WebMethod]publicboolUserLogin(stringUName,stringUPass){string[]UserName={ADMIN,USER01,USER02,USER03,USER04,GUEST};string[]UserPass={Un3I*1+,1rmf54f,qwert123,577543,1234,12345};boolDenial=true;for(inti=0;iUserName.Length;i++)if(UName.ToUpper()==UserName[i]&&UPass==UserPass[i])Denial=false;returnDenial;}文库专用1110.2.2Web服务测试为对Service的请求发生时,.asmx文件将自动地被ASP.NET运行环境所编译,随后的请求就可以由缓冲的预编译类型对象执行。为了测试编写好的代码,需要用一个支持ASP.NET的Web服务器,并且该服务器由一个虚拟的WebService2目录,就可以通过下面步骤对其进行测试。将程序代码保存WebService1.asmx,然后放到Web服务器localhost(本机)的虚拟目录Web下。打开InternetExplorer,在地址栏输入。这时,将看到关于这个WebService的公用方法,也就是那些标记为WebMethod属性的字符,并得知调用这些方法可以使用的协议,比如SOAP或者HTTPGET。文库专用12运行结果如下所示:文库专用13这个Web服务建好后,此后的页面都可以通过调用UserLogin方法而使用到这个Web服务。现在来通过页面测试这个Web服务,Web应用程序页面界面如下:10.2.3从客户端进行访问文库专用14页面所需的主要源代码:namespaceWebService2{publicclassWebForm1:System.Web.UI.Page{privatevoidPage_Load(objectsender,System.EventArgse)……privatevoidButton1_Click(objectsender,System.EventArgse){WebService2.Service1user=newWebService2.Service1();if(user.UserLogin(TextBox1.Text,TextBox2.Text)==false)Label3.Text=你好,+TextBox1.Text+!欢迎进入系统;elseLabel3.Text=非法用户,谢绝入内;}文库专用15文库专用16运行界面如下:文库专用17文库专用1810.2.4Web服务中的数据类型WebService的执行是建立在XML架构之上的,所以它能够支持丰富的数据类型。书第239页的表10-1列出了使用SOAP协议时WebService支持的数据类型。使用SOAP协议时,“通过值”以及“通过引用”这两种输入/输出参数形式都可被支持。如果是“通过引用”的参数类型,就会产生两种方式的数据发送效果:到服务器的以及返回到客户端的。但是,当通过HTTPGET/POST传递输入参数给WebService时,就只支持有限的数据类型了,而且还必须是“通过值”形式的参数。书第240页的表10-2列出了参数的数据类型。
本文标题:NET平台及Web服务
链接地址:https://www.777doc.com/doc-3401859 .html