精通WEB2.0之第11章__提供Web服务的网络存储系统_40P

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第11章提供Web服务的网络存储系统目前,WebService(Web服务)已经在互联网上有着广泛的应用。通过Web服务可以将互联网的服务提供给互联网的任何一个地方。本章将介绍如何创建一个提供Web服务的网络存储系统。用户通过Web服务来管理(如上载、下载等)该系统中的文件和目录。该系统的主页面的效果,本章系统(网络应用程序)的名称为WebStore。11.1什么是Web服务Web服务(WebService)就是一套编程标准。它用来让不同类型的软件可以通过网络彼此联系。Web服务共同使用3种编程语言:可扩展标记语言(XML)、标准对象访问协议(SOAP)和Web服务描述语言(WSDL)。XML是用来描述Web服务的基本语言。如果Web服务提供的功能或信息是一封新的具体内容,那么SOAP就是虚拟信封。它描述该信件内容、寄到何处。WSDL则提供让不同类型的软件直接联系对方的方式。11.1.1Web服务概述虽然,Web服务可以在整个互联网上应用,然而,不同公司(如微软、SUN、IBM等)对Web服务的描述不尽相同。1.微软公司对Web服务的描述2.SUN公司对Web服务的描述3.IBM公司对Web服务的描述4.BEA公司对Web服务的描述11.1.2.NET中的Web服务技术微软.NET中提供了基于XML的Web服务技术,并称为XMLWeb服务。在微软的MSDN帮助文档中是这样描述XMLWeb服务的:“XMLWeb服务是提供特定功能元素(如应用程序逻辑)的可编程实体,任何数量的、可能是完全不同的系统都可以用常见的Internet标准(如XML和HTTP)进行访问。XMLWeb服务在很大程度上依赖于对XML和其他Internet标准的广泛接受,由此创建的支持应用程序互操作性的基础结构,才得以解决许多以前阻碍此类尝试的问题。”11.1.3创建Web服务MyWebService本小节介绍在Sample_11_01中创建Web服务MyWebService,并在该服务中定义4个方法:Add、Sub、Multiply和Divide。这4个方法分别执行加、减、乘和除操作。运行该Web服务之后,如图11.2所示。单击【Add】链接,调用方法Add(),操作界面,11.1.4引用Web服务MyWebService本小节介绍将上述创建的Web服务MyWebService添加到应用程序Sample_11_01中。具体操作步骤如下。(1)在【解放方案资源管理器】面板中,右击【D:\...\Sample_11_01\】节点,并选择【添加Web引用】命令,11.1.5Web服务MyWebService的发现机制Web服务MyWebService的发现机制提供了发现Web服务的相关信息,如引用Web服务的链接地址、支持的协议等。11.1.6Web服务MyWebService的发现地图Web服务MyWebService的发现机制地图提供了Web服务结果相关的信息,如类型、引用地址、发现机制文档等。11.1.7Web服务MyWebService的服务描述语言文档Web服务的服务描述语言(WebServiceDescriptionLanguage,简称为WSDL)比较复杂。它是一种用于描述Web服务或者网络端点的基于XML的语言。它一般描述Web服务之间的消息处理机制、Web服务的位置、Web服务之间的通讯协议等。11.2总体功能设计和数据库设计本小节将介绍提供Web服务的网络存储系统的总体功能设计和数据库设计,以及数据库中各个表之间的关系设计。11.2.1总体功能设计应用程序WebStore实现的主要功能如下。1.用户和角色管理功能2.网络文件目录及其管理功能3.网络存储系统平台4.网络存储系统的Web服务11.2.2表设计应用程序WebStore主要包括用户、角色、目录、文件、文件内容、文件链接等数据。在此,笔者共创建了4个表(其中,用户和角色表已经在Blog系统中介绍过,在此不再介绍),它们的具体说明如下。1.目录表WebDirectory2.文件表WebFile3.文件内容表WebFileData4.文件链接表WebFileUrl11.2.3表关系设计应用程序WebStore的数据库比较简单,各个表之间的关系,其中,文件表WebFile引用目录表WebDirectory的ID字段作为外键;文件内容表WebFileData和文件链接表WebFileUrl分别引用文件表WebFile的ID字段作为外键。11.3应用程序WebStore本小节主要介绍应用程序WebStore的组成,及其通用模块的设计。其中,该应用程序由Web窗体页、类文件、主题文件、资源文件等组成。通用模块包括一个名称为“模块标题”的用户控件ModuleTitle.ascx。它存放在UserControl目录下。11.3.1应用程序WebStore的组成应用程序WebStore包含Admin、App_Code、App_Themes、Bin、App_WebReferences、Portal、UserControl、WebStore目录,以及页面Default.aspx、配置文件Web.Config、全局文件Global.asax等。展开Admin、App_WebReferences和Portal目录,在【解决方案资源管理器】面板中查看应用程序WebStore,11.3.2系统配置文件Web.Config应用程序WebStore的配置文件Web.Config放置在其的根目录下。笔者在该文件中配置了访问数据库Web2ASPNET2DB的链接字符串“datasource=localhost;userid=sa;pwd=123456;database=Web2ASPNET2DB”;同时还配置了应用程序WebStore的验证方式为“Windows”。11.3.3添加应用程序的引用文件笔者向应用程序WebStore添加了3个引用文件(文件的后缀名为.dll)。它们如下所示。Web2ASPNET2.CommonOperation.dll。Web2ASPNET2.OperateSqlServer.dll。Web2ASPNET2.UserCommonOperation.dll。11.3.4主页Default.aspx应用程序WebStore的主页Default.aspx特别简单。该页面在Page_Load(objectsender,EventArgse)事件中定向到用户登录页面UserLogin.aspx。程序代码如下。protectedvoidPage_Load(objectsender,EventArgse){Response.Redirect(~/Portal/UserLogin.aspx);///重定向到登录页面}11.3.5通用模块设计该应用程序中的通用模块只包括模块标题用户模块,它的实现方法和应用程序RSS中的通用模块相同。11.3.6定义系统常量应用程序WebStore在类WebStore中定义了3个常量:TextStringLength、NormalRoleID和WebStoreProjectID。11.4关键技术详解本小节主要介绍网络存储系统WebStore中的关键技术,如创建网络存储系统的Web服务(包括上载文件、下载文件等服务)、添加Web服务、普通上载文件技术、使用Web服务上载或下载文件等。11.4.1创建网络存储系统的Web服务应用程序WebStore创建了一个Web服务,名称为WebFileService.asmx。其中,Web服务的代码隐藏文件为WebFileService.asmx.cs。该文件保存在“App_Code”文件夹下。定义该Web服务的类的名称为WebFileService,该类放置在Web2ASPNET2.WebStore命名空间中。11.4.2添加Web服务创建WebFileServiceWeb服务之后,可以直接把该服务添加到应用程序WebStore中。具体操作步骤如下。(1)右击【解决方案资源管理器】面板中的【D:\...\WebStore\】节点,并选择【添加Web引用】命令,如图11.14所示。(2)执行【添加Web引用】命令,弹出【添加Web引用】对话框,11.4.3普通上载文件技术普通上载文件由页面AddFile.aspx实现,它的代码隐藏文件为AddFile.aspx.cs。该页面实现功能如下。输入新文件的名称。选择新文件的上级目录、保存方式,以及被上载的文件。上载新文件,并文件的信息提交到数据库中。返回到管理页面ViewDirectoryByList.aspx。11.4.4使用Web服务技术上载文件应用程序WebStore还可以使用WebFileServiceWeb服务中的方法来上载文件。单击页面WebFileService.asmx中的【GetFileByFullPath】链接,可以调用方法GetFileByFullPath(stringfileFullPath)根据文件的链接地址上载文件。11.4.5使用Web服务技术下载文件WebFileServiceWeb服务中的3个方法不但可以上载文件,而且还可以下载文件。其中,页面ShowFileDataByWebService.aspx和页面ShowFileDataByWebServiceUrl.aspx,分别调用该服务中的GetFileByData(intfileID)和GetFileByUrl(intfileID)方法下载文件。页面ShowFileDataByWebService.aspx首先从地址栏中获取被下载文件的ID值,并保存在变量fileID中。然后根据该ID值调用GetFileByData(intfileID)方法获取文件的二进制数据。最终将该文件显示在页面ShowFileDataByWebService.aspx中。11.5维护用户信息及其登录维护用户信息包括注册新用户、修改用户信息、修改用户密码和用户管理等功能。实现这些功能的页面(如AddUser.aspx、UpdateUser.aspx等)都保存在文件夹“Admin”下。用户登录功能验证访问网站的用户是否为合法用户,实现该功能的页面保存在文件夹“Portal”下。11.5.1注册新用户注册新用户由页面AddUser.aspx实现,它的代码隐藏文件为AddUser.aspx.cs。该页面实现功能如下。检查新注册用户的名称是否存在。如果已经存在,则不能注册。注册新用户的功能,并把新用户的信息提交到数据库中。返回到用户管理页面UserManage.aspx。11.5.2用户登录、维护用户信息和修改密码注意:由于用户登录、维护用户信息和修改密码功能模块的实现方法和第10章的10.5小节类似,因此在此不做详细介绍。读者可以查看10.5小节中的实现方法。其中,实现的程序代码保存在附赠光盘中的WebStore应用程序的文件夹“Admin”和文件夹“Portal”下。11.6网络文件目录及其管理本小节主要介绍网络存储系统WebStore中的网络文件目录及其管理,如创建新目录、修改目录属性、管理网络存储系统的目录等。11.6.1数据访问层设计类Directory定义了应用程序WebStore的数据访问层中与目录相关的操作。该类定义方法如下所示。publicSqlDataReaderGetDirectorys(),获取所有目录,并使用SqlDataReader保存结果。publicDataSetGetDirectorysDS(),获取所有目录,并使用DataSet保存结果。11.6.2添加新目录添加新目录由页面AddDirectory.aspx实现,它的代码隐藏文件为AddDirectory.aspx.cs。该页面功能实现如下。输入新目录的名称和备注信息。选择新目录所属的上级目录。添加新目录的功能,并把新目录

1 / 40
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功