网页中的虚拟目录有什么作用啊?

网页中的虚拟目录有什么作用啊?,第1张

虚拟目录的作用就是把服务器的本地文件夹转为URL的路径。

如,IP为1921681100,IIS已启动,虚拟目录名为user/

对应服务器目录为

D:\iisroot\user\

则 

D:\iisroot\user\images\logogif

在访问时的地址就是

http://1921681100/user/images/logogif

虚拟目录对用户是不透明的。

一、活动目录的由来

谈到活动目录最使人容易想起的就是DOS下的“目录”、“路径”和Windows9X/ME下“文件夹”,那个时候的“目录”或“文件夹”仅代表一个文件存在磁盘上的位置和层次关系,一个文件生成之后相对来说这个文件的所在目录也就固定了(当然可以删除、转移等,现在不考虑这些),也就是说它的属性也就相对固定了,是静态的。这个目录所能代表的仅是这个目录下所有文件的存放位置和所有文件总的大小,并不能得出其它有关信息,这样就影响到了整体使用目录的效率,也就是影响了系统的整体效率,使系统的整个管理变得复杂。因为没有相互关联,所以在不同应用程序中同一对象要进行多次配置,管理起来相当繁锁,影响了系统资源的使用效率。为了改变这种效率低下的关系和加强与Internet上有关协议的关联Microsoft公司决定在WIN2K中全面改革,也就是引入活动目录的概念。理解活动目录的关键就在于“活动”两个字,千万不要将“活动”两个字去掉而仅仅从“目录”两个字去理解,那你我理来理去一定还是不能脱离原来在DOS下目录或Windows9x下的文件夹,正因为这个目录是活动的,所以它是动态的,它是一种包含服务功能的目录,它可以做到“由此及彼”的联想、映射,如找到了一个用户名,就可联想到它的账号、出生信息、E-mail、电话等所有基本信息,虽然组成这些信息的文件可能不在一块。同时不同应用程序之间还可以对这些信息进行共享,减少了系统开发资源的浪费,提高了系统资源的利用效率。

活动目录包括两个方面:目录和与目录相关的服务。目录是存储各种对象的一个物理上的容器,从静态的角度来理解这活动目录与我们以前所结识的“目录”和“文件夹”没有本质区别,仅仅是一个对象,是一实体;而目录服务是使目录中所有信息和资源发挥作用的服务,活动目录是一个分布式的目录服务,信息可以分散在多台不同的计算机上,保证用户能够快速访问,因为多台机上有相同的信息,所以在信息容氏方面具有很强的控制能力,正因如此,不管用户从何处访问或信息处在何处,都对用户提供统一的视图。

二、相关名词术语

虽然活动目录中用到的许多技术在其他软件产品中也已经出现过,但作为全面的整体网络方案还是首次亮相,其中有许多名词或术语或许是闻所未闻的,所以有必要详细了解

一下活动目录的有关名词或术语。

1、名字空间:从本质上讲,活动目录就是一个名字空间,我们可以把名字空间理解为任何给定名字的解析边界,这个边界就是指这个名字所能提供或关联、映射的所有信息范围。通俗地说就是我们在服务器上通过查找一个对象可以查到的所有关联信息总和,如一个用户,如果我们在服务器已给这个用户定义了讲如:用户名、用户密码、工作单位、联系电话、家庭住址等,那上面所说的总和广义上理解就是“用户”这个名字的名字空间,因为我们只输入一个用户名即可找到上面我所列的一切信息。名字解析是把一个名字翻译成该名字所代表的对象或者信息的处理过程。举例来说,在一个电话目录形成一个名字空间中,我们可以从每一个电话户头的名字可以被解析到相应的电话号码,而不是象现在一样名字是名字,号码归号码,根本不能横向联系。Windows 作系统的文件系统也形成了一个名字空间,每一个文件名都可以被解析到文件本身(包含它应有的所有信息)。

2、对象: 对象是活动目录中的信息实体,也即我们通常所见的“属性”,但它是一组属性的集合,往往代表了有形的实体,比如用户账户、 文 件名等。对象通过属性描述它的基本特征,比如,一个用户账号的属性中可能包括用户姓名、 电话号码、 电子邮件地址和家庭住址等。

3、容器:容器是活动目录名字空间的一部分,与目录对象一样,它也有属性,但与目录对象不同的是,它不代表有形的实体,而是代表存放对象的空间,因为它仅代表存放一个对象的空间,所以它比名字空间小。比如一个用户,它是一个对象,但这个对象的容器就仅限于从这个对象本身所能提供的信息空间,如它仅能提供用户名、用户密码。其它的如:工作单位、联系电话、家庭住址等就不属于这个对象的容器范围了。

4、目录树:在任何一个名字空间中,目录树是指由容器和对象构成的层次结构。树的叶子、节点往往是对象,树的非叶子节点是容器。目录树表达了对象的连接方式,也显示了从一个对象到另一个对象的路径。在活动目录中,目录树是基本的结构,从每一个容器作为起点,层层深入, 都可以构成一棵子树。一个简单的目录可以构成一棵树,一个计算机网络或者一个域也可以构成一棵树。这也很容易理解,我们最初学电脑时不就是在全面理解DOS下的路径概念基础之上开始的吗,其实这“目录树”也就是一种“路径关系”,如果你理解了DOS下的“路径”相信理解这“目录树”是没什么问题的!

5、域: 域是WIN2K网络系统的安全性边界。我们知道一个计算机网最基本的单元就是“域”,这一点不是WIN2K所独有的,但活动目录可以贯穿一个或多个域。在独立的计算机上,域即指计算机本身,一个域可以分布在多个物理位置上,同时一个物理位置又可以划分不同网段为不同的域,每个域都有自己的安全策略以及它与其他域的信任关系。当多个域通过信任关系连接起来之后,活动目录可以被多个信任域域共享

6、组织单元:包含在域中特别有用的目录对象类型就是组织单元。组织单元是可将用户、组、计算机和其他单元放入活动目录的容器中,组织单元不能包括来自其他域的对象。组织单元是可以指派组策略设置或委派管理权限的最小作用单位。使用组织单元,您可在组织单元中代表逻辑层次结构的域中创建容器,这样您就可以根据您的组织模型管理帐户、资源的配置和使用,可使用组织单元创建可缩放到任意规模的管理模型。可授予用户对域中所有组织单元或对单个组织单元的管理权限,组织单元的管理员不需要具有域中任何其他组织单元的管理权,组织单元有点象我们在NT时代的工作组,我们从管理权限上来讲可以这么理解。

7、域树:域树由多个域组成,这些域共享同一表结构和配置,形成一个连续的名字空间。树中的域通过信任关系连接起来,活动目录包含一个或多个域树。域树中的域层次越深级别越低,一个“”代表一个层次,如域childMicrosoftcom 就比 Microsoftcom这个域级别低,因为它有两个层次关系,而Microsoftcom只有一个次。而域GrandchildChildMicrosoftcom双比 ChildMicrosoftcom级别低,道理一样。域树中的域是通过双向可传递信任关系连接在一起。由于这些信任关系是双向的而且是可传递的,因此在域树或树林中新创建的域可以立即与域树或树林中每个其他的域建立信任关系。这些信任关系允许单一登录过程,在域树或树林中的所有域上对用户进行身份验证,但这不一定意味着经过身份验证的用户在域树的所有域中都拥有相同的权利和权限。因为域是安全界限,所以必须在每个域的基础上为用户指派相应的权利和权限。

8、域林:域林是指由一个或多个没有形成连续名字空间的域树组成,它与上面所讲的域树最明显的区别就在于这些域树之间没有形成连续的名字空间,而域树则是由一些具有连续名字空间的域组成。但域林中的所有域树仍共享同一个表结构、配置和全局目录。域林中的所有域树通过Kerberos 信任关系建立起来,所以每个域树都知道Kerberos信任关系,不同域树可以交叉引用其他域树中的对象。域林都有根域,域林的根域是域林中创建的第一个域,域林中所有域树的根域与域林的根域建立可传递的信任关系。

9、站点:站点是指包括活动目录域服务器的一个网络位置,通常是一个或多个通过TCP/IP连接起来的子网。站点内部的子网通过可靠、快速的网络连接起来。站点的划分使得管理员可以很方便地配置活动目录的复杂结构,更好地利用物理网络特性,使网络通信处于最优状态。当用户登录到网络时,活动目录客户机在同一个站点内找到活动目录域服务器,由于同一个站点内的网络通信是可靠、快速和高效的,所以对于用户来说,他可以在最快的时间内登录到网络系中。因为站点是以子网为边界的,所以活动目录在登录时很容易找到用户所在的站点,进而找到活动目录域服务器完成登录工作。

10、域控制器:域控制器是使用活动目录安装向导配置的WIN2K Server 的计算机。活动目录安装向导安装和配置为网络用户和计算机提供活动目录服务的组件供用户选择使用。域控制器存储着目录数据并管理用户域的交互关系,其中包括用户登录过程、身份验证和目录搜索,一个域可有一个或多个域控制器。为了获得高可用性和容错能力,使用单个局域网 (LAN) 的小单位可能只需要一个具有两个域控制器的域。具有多个网络位置的大公司在每个位置都需要一个或多个域控制器以提供高可用性和容错能力。

WIN2K Server 域控制器扩展了 WINNT Server 40 的域控制器所提供的能力和特性,WIN2K Server 多宿主复制使每个域控制器上的目录数据同步,以确保随着时间的推移这些信息仍能保持一致,也就是说是动态的,这就是活动目录的作用。多宿主复制是 WINNT Server 40 中使用的主域控制器和备份域控制器模型的发展,在 WINNT Server 40 中只有一个服务器,即主域控制器,拥有该目录的可读写副本。

三、安装活动目录的意义

我们说WIN2K的成功和创造性之一就是成功的全面引入了活动目录服务,那么到底安装活动目录有什么意义呢?这是我们所有初学WIN2K的人首要要问的一个问题。因为活动目录并不是WIN2K系统必需安装的一种服务,要全面理解它又是非常的不容易,那么安装活动目录的意义在哪里呢?它主要体现在以下几个方面:

1、信息的安全性大大增强

安装活动目录后信息的安全性完全与活动目录集成,用户授权管理和目录进入控制已经整合在活动目录当中了(包括用户的访问和登录权限等),而它们都是WIN2K作系统的关键安全措施。活动目录集中控制用户授权,目录进入控制不只能在每一个目录中的对象上定义,而且还能在每一个对象的每个属性上定义,这一点是以前任何系统所不能达到的,包括WINNT 40。除此之外,活动目录还可以提供存储和应用程序作用域的安全策略,提供安全策略的存储和应用范围。安全策略可包含帐户信息,如域范围内的密码限制或对特定域资源的访问权等。所以从一定程序上可以这么说WIN2K的安全性就是活动目录所体现的安全性,由此可见对于网管来说如何配置好活动目录中对象及属性的安全性是一个网管配置好WIN2K系统的关键。

2、引入基于策略的管理,使系统的管理更加明朗

活动目录服务包括目录对象数据存储和逻辑分层结构(指上面所讲的目录、目录树、域、域树、域林等所组成的层次结构),作为目录,它存储着分配给特定环境的策略,称为组策略对象。作为逻辑结构,它为策略应用程序提供分层的环境。组策略对象表示了一套商务规则,它包括与要应用的环境有关的设置,组策略是用户或计算机初始化时用到的配置设置。所有的组策略设置都包含在应用到活动目录,域,或组织单元的组策略对象(GPOs)中。GPOs设置决定目录对象和域资源的进入权限,什么样的域资源可以被用户使用,以及这些域资源怎样使用等。例如,组策略对象可以决定当用户登录时用户在他们的计算机上看到什么应用程序,当它在服务器上启动时有多少用户可连接至 Server,以及当用户转移到不同的部门或组时他们可访问什么文件或服务。组策略对象使您可以管理少量的策略而不是大量的用户和计算机。通过活动目录,您可将组策略设置应用于适当的环境中,不管它是您的整个单位还是您单位中的特定部门。

3、具有很强的可扩展性

WIN2K的活动目录具有很强的可扩展性,管理员可以在计划中增加新的对象类,或者给现有的对象类增加新的属性。计划包括可以存储在目录中的每一个对象类的定义和对象类的属性。例如,在电子商务上你可以给每一个用户对象增加一个购物授权属性,然后存储每一个用户购买权限作为用户帐号的一部分。

4、具有很强的可伸缩性

活动目录可包含在一个或多个域,每个域具有一个或多个域控制器,以便您可以调整目录的规模以满足任何网络的需要。多个域可组成为域树,多个域树又可组成为树林,活动目录也就随着域的伸缩而伸缩,较好地适应了单位网络的变化。目录将其架构和配置信息分发给目录中所有的域控制器,该信息存储在域的第一个域控制器中,并且复制到域中任何其他域控制器。当该目录配置为单个域时,添加域控制器将改变目录的规模,而不影响其他域的管理开销。将域添加到目录使您可以针对不同策略环境划分目录,并调整目录的规模以容纳大量的资源和对象。

5、智能的信息复制能力

信息复制为目录提供了信息可用性、容错、负载平衡和性能优势,活动目录使用多主机复制,允许您在任何域控制器上而不是单个主域控制器上同步更新目录。多主机模式具有更大容错的优点,因为使用多域控制器,即使任何单独的域控制器停止工作,也可继续复制。由于进行了多主机复制,它们将更新目录的单个副本,在域控制器上创建或修改目录信息后,新创建或更改的信息将发送到域中的所有其他域控制器,所以其目录信息是最新的。域控制器需要最新的目录信息,但是要做到高效率,必须把自身的更新限制在只有新建或更改目录信息的时候,以免在网络高峰期进行同步而影响网络速度。在域控制器之间不加选择地交换目录信息能够迅速搞垮任何网络。通过活动目录就能达到只复制更改的目录信息,而不至于大量增加域控制器的负荷。

6、与 DNS 集成紧密

活动目录使用域名系统 (DNS)来为服务器目录命名,DNS 是将更容易理解的主机名(如 MikeMycompanycom)转换为数字 IP 地址的 Internet 标准服务,利于在TCP/IP网络中计算机之间的相互识别和通讯。DNS 的域名基于 DNS 分层命名结构,这是一种倒置的树状结构,单个根域,在它下面可以是父域和子域(分支和叶子)。关于这一点我会在后面以专门的篇章加以详细讲述,在此就仅作简单介绍。

7、与其他目录服务具有互性

由于活动目录是基于标准的目录访问协议,许多应用程序界面(API)都允许开发者进入这些协议,例如活动目录服务界面(ADSI)、轻型目录访问协议 (LDAP) 第三版和名称服务提供程序接口 (NSPI),因此它可与使用这些协议的其他目录服务相互作。LDAP 是用于在活动目录中查询和检索信息的目录访问协议。因为它是一种工业标准服务协议,所以可使用 LDAP 开发程序,与同时支持 LDAP 的其他目录服务共享活动目录信息。活动目录支持 Microsoft Exchange 40 和 5x 客户程序所用的 NSPI 协议,以提供与 Exchange 目录的兼容性。

8、具有灵活的查询

任何用户可使用“开始”菜单、“网上邻居”或“活动目录用户和计算机”上的“搜索”命令,通过对象属性快速查找网络上的对象。如您可通过名字、姓氏、电子邮件名、办公室位置或用户帐户的其他属性来查找用户,反之亦然。

虚拟目录的名称通常要比物理目录的名称易记,因此更便于用户访问。

使用虚拟目录可以提高安全性,因为客户端并不知道文件在服务器上的实际物理位置,所以无法使用该信息来修改服务器中的目标文件。

使用虚拟目录可以更方便地移动网站中的目录,只需更改虚拟目录物理位置之间的映射,无需更改目录的URL。

使用虚拟目录可以发布多个目录下的内容,并可以单独控制每个虚拟目录的访问权限。

使用虚拟目录可以均衡Web服务器的负载,因为网站中资源来自于多个不同的服务器,从而避免单一服务器负载过重,响应缓慢。

作用:为了便于对网站资源进行灵活管理,还可以把这些文件存放在本地计算机的其它文件夹中或者其它计算机的共享文件夹中,然后再把这个文件夹映射到网站主目录中的一个文件夹上,这个文件夹被称为“虚拟目录”。

每个虚拟目录都有一个别名,这样用户就可以通过这个虚拟目录的别名来访问与之对应的真实文件夹中的资源了。虚拟目录的好处是在不需要改变别名的情况下,可以随时改变其对应的文件夹。

指定客户 URL地址,服务将整个发布目录集提交给客户作为一个目录树。宿主目录是“虚拟”目录树的根。虚拟目录的实际子目录对于客户也是可用的。

扩展资料:

虚拟目录不出现于目录列表中(也称为http://www服务的“目录浏览”)。要访问虚拟目录,用户必须知道虚拟目录的别名,并在浏览器中键入 URL,对于http://www服务,还可在 HTML 页面中创建链接。

对于 gopher 服务,可在标志文件中创建明确的链接,以便用户可访问虚拟目录。对于FTP服务,可使用目录注释列出虚拟目录。

虚拟目录可以作为FTP站点主目录下的子目录来使用,尽管这些虚拟目录并不是主目录真正意义上的子目录。究其实质,虚拟目录是在FTP站点的根目录下创建一个子目录,然后将这个子目录指向本地磁盘中的任意目录或网络中的共享文件夹。

--虚拟目录

 WebService目前可是目前计算机界一个非常流行的技术了 以至于有些人把WebService列入目前最热门的十大技术之一 的确随着互联网的广泛应用和发展 尤其是电子商务的发展 出于互联网上各种复杂的应用系统和对更高安全性的要求 WebService的横空出世的确满足了当前这些的要求和需要 其中的原因在下文中有详细的介绍 本文的主要内容是简要介绍一下WebService的相关知识 以及使用VisualBasic Net实现WebServices的具体方法和典型步骤

 一 WebService为何物 我们为什么需要它

 WebService的主要功能就是可以实现实现跨平台的功能调用 同时由于WebService中使用XML来进行数据交换 所以在使用WebService时不用担心防火墙的影响 由于WebService集成了各种功能 并提供了一个友好的界面 所以在WebService能够实现软件的重用

 另外WebService的调用非常简单 简而言之调用互联网上的WebService就如同调用本地的组件一样简单 就是通过HTTP协议来调用互联网上的组件 至于具体的调用方法 请参阅本文第五节第七段的内容 所以Web Service就是互联网上的组件调用

 二 和Web Service相关的标准 协议

 Web Service是通过一系列标准和协议来保证和程序之间的动态连接和实现其安全调用的 其中主要的标准和协议是 XML WSDL SOAP HTTP UDDI 下面就简要介绍这些标准和协议

  XML Web Service之间和Web Service和应用程序之间都是采用XML进行数据交换的 Web Service由于基于了XML 这样Web Service在具备XML带来的优势的同时 也拥有了由于XML所带来的缺点 其中XML所带来的最重要缺点就是Web Service将大量的占有CPU的资源 因为XML数据要经过多步处理才能被系统使用 所以 即使调用一个功能较小的Web Service 也会感觉速度很慢 所以网络中对运行Web Service的主机要求是很高的

  HTTP 应用程序是提供HTTP协议来调用Web Service的 所以HTTP在Web Service调用过程中 起著通道的作用

  WSDL 是Web Service描述语言的简写 它是XML格式 其作用是描述Web Service 指示应用程序和与Web Servie交互的方法 当实现了某种Web Service服务时 为了让别的程序调用 就必须告诉此Web Service的接口 如 服务名称 服务所在的机器名称 监听端口号 传递参数的类型等等 WSDL就是规定了有关Web Services描述的标准

  UDDI 是Universal Description Discovery and Integration的缩写 简单说 UDDI用于集中存放和查找WSDL描述文件 起著目录服务器的作用

  SOAP 是 Simple Object Access Protocol 的缩写 即 简单对象访问协议 SOAP是一种消息传递的协议 它规定了Web Services之间传递信息的方式

 三 本文章的程序设计 调试和运行的环境

 ( ) 微软公司视窗 中文企业版

 ( ) Visual Studio Net 企业构建版 Net FrameWork SDK 版本号

 ( ) IIS服务启动

 四 Visual Basic Net实现Web Service

  Net 的大的推动了Web Service的发展 而Visual Studio Net的出现又极大的推动了Web Service的的广泛应用 在Visual Studio Net推出之前 编写一个Web Service是一项非常复杂的工作 同样调用这个Web Service也十分麻烦 由于Visual Studio Net对Web Service提供了较强的支持 很多细致 烦杂的工作都由Visual Studio Net自动完成了 这样就使得上述工作变得非常简单 甚至不了解Web Service和其相关的标准 协议 也可以使用Visual Studio Net编写Web Service 并使用这个Web Service 下面就来用Visual Basic Net实现一个Web Service 此Web Service和数据库相关 数据库类型选用的是Sql Server 此Web Service提供了二个函数功能调用 其一名称为Binding 用以实现数据绑定 其二名称为Update 用以更新数据库中的数据

 以下就是Visual Basic Net实现此Web Service的具体步骤

  启动Visual Studio Net

  选择菜单「文件」|「新建」|「项目」后 弹出「新建项目」对话框

  将「项目类型」设置为「Visual Basic项目」

  将「模板」设置为「ASP NET Web 服务」

  在「位置」的文本框中输入//localhost/UpdateDataWebService 后 单击「确定」按钮 这样在Visual Studio Net就会计算机Internet信息服务的默认目录中创建一个名称为 UpdateDataWebService 文件夹 里面存放的是此项目的文件 具体如图 所示

 

 图 创建Web Service项目对话框

  选中「解决方案资源管理器」中的 Service a x 文件 单击鼠标右键 在弹出的菜单中选择「查看代码」 则进入Service a x vb的编辑界面

  在Service a x……vb的首部 在导入命名空间的代码区中添加下列代码 下列代码作用是导入命名空间System Data SqlClient

 Imports System Data SqlClient

  在Service a x……vb文件的 Public Class Service Inherits System Web Services WebService 代码后 添加下列代码 下列代码是在Web Service中定义二个功能调用

 <WebMethod ( ) > Public Function Binding ( ) As DataSet Dim con As New SqlConnection ( Server = localhost ; uid = sa ; pwd = ; database = northwind ) Dim daCust As New SqlDataAdapter ( Select From Customers con ) Dim ds As New DataSet ( ) daCust Fill( ds Cust ) Return dsEnd Function<WebMethod ( ) > Public Function Update ( ByVal ds As DataSet ) As DataSet Dim con As New SqlConnection ( Server = localhost ; uid = sa ; pwd = ; database = northwind ) Dim daCust As New SqlDataAdapter ( Select From Customers con ) Dim cbCust As New SqlCommandBuilder ( daCust ) daCust Update ( ds Cust ) Return dsEnd Function

  保存上述的修改 一个简单的操作Sql Server数据库的Web Service就完成了 此时单击快捷键F 此Web Service就开始运行 并可以对外提供服务了 具体如图 所示:

 

 图 :Web Service提供服务是的界面

 Service a x vb的代码清单如下:

 Imports System Web ServicesImports System Data SqlClient<WebService ( Namespace := ) > _Public Class Service Inherits System Web Services WebService<WebMethod ( ) > Public Function Binding ( ) As DataSet Modify this Connection string to use your SQL Server and log onDim con As New SqlConnection ( Server=localhost;uid=sa;pwd=;database=northwind ) Dim daCust As New SqlDataAdapter ( Select From Customers con ) Dim ds As New DataSet ( ) daCust Fill ( ds Cust ) Return dsEnd Function<WebMethod ( ) > Public Function Update ( ByVal ds As DataSet ) As DataSet Dim con As New SqlConnection ( Server=localhost;uid=sa;pwd=;database=northwind ) Dim daCust As New SqlDataAdapter ( Select From Customers con ) Dim cbCust As New SqlCommandBuilder ( daCust ) daCust Update ( ds Cust ) Return dsEnd Function#Region Web 服务设计器生成的代码 Public Sub New ( ) MyBase New ( )  该调用是 Web 服务设计器所必需的InitializeComponent ( )  在 InitializeComponent ( ) 调用之后添加您自己的初始化代码End Sub Web 服务设计器所必需的Private ponents As System ComponentModel IContainer  注意 以下过程是 Web 服务设计器所必需的  可以使用 Web 服务设计器修改此过程 不要使用代码编辑器修改它<System Diagnostics DebuggerStepThrough ( ) > Private Sub InitializeComponent ( ) ponents = New System ComponentModel Container ( )End SubProtected Overloads Overrides Sub Dispose ( ByVal disposing As Boolean ) CODEGEN: 此过程是 Web 服务设计器所必需的 不要使用代码编辑器修改它 If disposing Then If Not ( ponents Is Nothing ) Then  ponents Dispose ( ) End IfEnd IfMyBase Dispose ( disposing )End Sub#End Region Web 服务示例 HelloWorld ( ) 示例服务返回字符串 Hello World 若要生成项目 请取消注释以下行 然后保存并生成项目 若要测试此 Web 服务 请确保 a x 文件为起始页 并按 F 键 <WebMethod ( ) > Public Function HelloWorld ( ) As String HelloWorld = Hello World End FunctionEnd Class

 下面就来介绍Visual Basic Net中使用这个Web Service提供的服务来更新数据库的实现方法

  五 在Visual Basic Net调用Web Service提供的服务:

 当Web Service已经处于对外提供服务状态 Visual Basic Net就可以通过HTTP 调用 来使用这些服务了 当然前提是要了解Web Service对外提供服务所对应的URL 当了解到Web Service对应的URL后 Visual Basic Net就像是使用本地的类库一样使用Web Service中提供的各种功能 所以有些人说 Web Service从实质上说 就是通过HTTP调用远程组件的一种方式 在Visual Basic Net具体实现加入Web Service可参阅下面步骤中的第七步

 在下面介绍的这个数据库应用程序是通过使用上面的Web Service中提供的 Binding 服务 对程序中DataGrid组件实现数据绑定 提供使用Web Service中提供的 Update 服务 通过程序中的DataGrid来修改数据库 下面就是Visual Basic Net中使用Web Service提供服务来编写数据库应用程序的具体步骤 :

  启动Visual Studio Net

  选择菜单文件|新建|项目后 弹出新建项目对话框

  将项目类型设置为Visual Basic项目

  将模板设置为Windows应用程序

  在名称文本框中输入TestWebService

  在位置的文本框中输入E:\VS NET项目 然后单击确定按钮 这样在 E:\VS NET项目 中就产生了名称为 TestWebService 文件夹 里面存放的就是TestWebService项目的所有文件

  选择解决方案资源管理器|引用后 单击鼠标右键 在弹出的菜单中选择添加Web 引用 在弹出的添加Web引用对话框中的地址文本框中输入 后 单击回车键后 可得图 所示界面 单击图 中添加引用按钮 则在TestWebService项目中加入了Web引用 请注意 就是上面完成的Web Service对外提供服务的URL地址 具体可参阅图 所示:

 

 图 :在TestWebService添加Web Service提供的服务

  从工具箱中的Windows窗体组件选项卡中往Form 窗体中拖入下列组件 并执行相应的操作:

 一个DataGrid组件

 二个Button组件 分别是Button 至Button 并在这二个Button组件拖入Form 的设计窗体后 分别双击它们 则系统会在Form vb文件分别产生这二个组件的Click事件对应的处理代码

按照表 所示调整窗体中各组件属性的数值

  组件类型 组件名称 属性 设置结果 Form Form Text 测试Web Service Form MaximizeBox False Form FormBorderStyle FixedSingle Button Button Text 绑定 Button FlatStyle Flat Button Text 修改 Button FlatStyle Flat

 表 :TestWebService项目中组件的主要属性及其对应数值

 在调整完组件属性值后 再按照图 所示调整组件的位置和排列顺序:

 

 图 :TestWebService项目中组件排列位置和顺序

  把Visual Studio Net的当前窗口切换到Form vb的代码编辑窗口 并用下列代码替换Form vb中的Button 的Click事件对应的处理代码 下列代码功能是使用Web Service中提供的 Binding 服务对DataGrid组件实现数据绑定:

 Private Sub Button _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles Button Click Dim MyService As New localhost Service ( ) DataGrid DataSource = MyService Binding ( ) DataGrid DataMember = Cust End Sub

  用下列代码替换Form vb中的Button 的Click事件对应的处理代码 下列代码功能是使用Web Service中提供的 Update 服务实现通过DataGrid来修改数据库数据:

 Private Sub Button _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles Button Click Dim MyService As New localhost Service ( ) Dim ds As DataSet = DataGrid DataSource Dim dsChanges As DataSet = ds GetChanges ( ) If Not ( dsChanges Is Nothing ) Then  ds Merge ( MyService Update ( dsChanges ) True ) End IfEnd Sub

  至此 TestWebService项目的全部工作就完成了 调用Web Service是不是很简单 此时单击快捷键F 运行程序后 单击程序中的绑定按钮就会对程序中的DataGrid组件实现数据绑定 单击程序中的修改按钮 则程序会根据DataGrid中的内容来更新数据库 图 就是TestWebService的运行界面:

 

 图 :TestWebService的运行界面

  Form vb的代码清单如下:

 Public Class Form Inherits System Windows Forms Form#Region Windows 窗体设计器生成的代码 Public Sub New ( ) MyBase New ( )  该调用是 Windows 窗体设计器所必需的InitializeComponent ( )  在 InitializeComponent ( ) 调用之后添加任何初始化End Sub 窗体重写处置以清理组件列表 Protected Overloads Overrides Sub Dispose ( ByVal disposing As Boolean ) If disposing Then  If Not ( ponents Is Nothing ) Then   ponents Dispose ( )  End If End If MyBase Dispose ( disposing )End Sub Windows 窗体设计器所必需的Private ponents As System ComponentModel IContainer  注意 以下过程是 Windows 窗体设计器所必需的  可以使用 Windows 窗体设计器修改此过程 不要使用代码编辑器修改它Friend WithEvents Button As System Windows Forms Button Friend WithEvents Button As System Windows Forms Button Friend WithEvents DataGrid As System Windows Forms DataGrid <System Diagnostics DebuggerStepThrough ( ) > Private Sub InitializeComponent ( ) Me Button = New System Windows Forms Button ( ) Me Button = New System Windows Forms Button ( ) Me DataGrid = New System Windows Forms DataGrid ( ) CType ( Me DataGrid System ComponentModel ISupportInitialize ) BeginInit ( ) Me SuspendLayout ( ) Me Button FlatStyle = System Windows Forms FlatStyle Flat Me Button Location = New System Drawing Point ( ) Me Button Name = ButtonMe Button Size = New System Drawing Size ( ) Me Button TabIndex =Me Button Text = 绑定Me Button FlatStyle = System Windows Forms FlatStyle Flat Me Button Location = New System Drawing Point ( ) Me Button Name = ButtonMe Button Size = New System Drawing Size ( ) Me Button TabIndex =Me Button Text = 修改Me DataGrid DataMember =Me DataGrid Dock = System Windows Forms DockStyle Top Me DataGrid HeaderForeColor = System Drawing SystemColors ControlText Me DataGrid Name = DataGridMe DataGrid Size = New System Drawing Size ( ) Me DataGrid TabIndex =Me AutoScaleBaseSize = New System Drawing Size ( ) Me ClientSize = New System Drawing Size ( ) Me Controls AddRange ( New System Windows Forms Control ( ) {Me DataGrid Me Button Me Button } ) Me Name = FormMe Text = 测试Web ServiceCType ( Me DataGrid System ComponentModel ISupportInitialize ) EndInit ( ) Me ResumeLayout ( False )End Sub#End RegionPrivate Sub Button _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles Button Click Dim MyService As New localhost Service ( ) DataGrid DataSource = MyService Binding ( ) DataGrid DataMember = Cust End SubPrivate Sub Button _Click ( ByVal sender As System Object ByVal e As System EventArgs ) Handles Button Click Dim MyService As New localhost Service ( ) Dim ds As DataSet = DataGrid DataSource Dim dsChanges As DataSet = ds GetChanges ( ) If Not ( dsChanges Is Nothing ) Then  ds Merge ( MyService Update ( dsChanges ) True ) End IfEnd SubEnd Class

  六 总结

lishixinzhi/Article/program/net/201311/11839

你好!我的薄见是,AD主要是用于管理,如果你想设置一些组策略,比如禁止用户访问一些类别的网站(因为现在病毒很严重,IE是漏洞的主要地方),而且可以给员工按地域或部门分配到不同的组中,设置不同的权限。

参考:

微软在Windows NT Server 40中就已经贯彻了目录服务的思想。NT的"域(domain)"的概念是目录服务的一个基本单元。"一次登录,Single Logon"在Windows NTServer 的环境下有了具体的应用,比如Internet Information Server、Exchange Server、SQL Server等都可以与Windows NT Server的账号验证集成起来,用户一次登录就可以获得Web、Email和数据库等多种多样的网络服务。

Windows 2000 Server在Windows NT Server 40的基础上,进一步发展了"活动目录(Active Directory)"。活动目录充分体现了微软产品的"ICE",即集成性(Integration),深入性(Comprehensive),和易用性(Ease of Use)等优点。活动目录是一个完全可扩展,可伸缩的目录服务,既能满足商业ISP的需要,又能满足企业内部网和外联网的需要。

活动目录的由来

活动目录是从一个数据存储开始的。它采用的是Exchange Server的数据存储,称为:Extens ible Storage Service (ESS)。其特点是不需要事先定义数据库的参数,可以做到动态地增长,性能非常优良。这个数据存储之上已建立索引的,可以方便快速地搜索和定位。活动目录的分区是"域(Domain)",一个域可以存储上百万的对象。域之间还有层次关系,可以建立域树和域森林,无限地扩展。

在数据存储之上,微软建立了一个对象模型,以构成活动目录。这一对象模型对LDAP有纯粹的支持,还可以管理和修改Schema。Schema包括了在活动目录中的计算机、用户和打印机等所有对象的定义,其本身也是活动目录的内容之一,在整个域森林中是唯一的。通过修改Schema的工具,用户或开发人员可以自己定义特殊的类和属性,来创建所需要的对象和对象属性。

活动目录包括两个方面:一个目录和与目录相关的服务。目录是存储各种对象的一个物理上的容器;而目录服务是使目录中所有信息和资源发挥作用的服务。活动目录是一个分布式的目录服务。信息可以分散在多台不同的计算机上,保证快速访问和容错;同时不管用户从何处访问或信息处在何处,都对用户提供统一的视图。

活动目录的集成性(Integration)

微软的活动目录生动了结合了三个方面的管理内容:用户和资源管理、基于目录的网络服务,和基于网络的应用管理。而且活动目录广泛地采纳了Internet标准,把众多的Internet服务都集成在一起,提供了革命性的价值。

目录管理的基本对象是用户和计算机,还包括文件、打印机等资源。举例来说,用户对象的属性非常丰富,不但有常见的账号名、口令等,还包括邮件信箱和个人主页地址、在公司中的职位关系等,可以在活动目录中右键点击用户对象发送邮件和访问其个人主页等。其职位关系可以在公司的内部网上有Web组织结构图的方式动态地显示出来,也可以为内部采购、费用报销等应用程序利用来实施业务逻辑。在活动目录中,支持全局性的查找,比如查找在整个网络中的双面打印的彩色打印机等。

活动目录彻底地采用了Internet标准协议,比如用户账号可以用 User@bjyourcomcom或User@yourcomcom的快捷方式来表征,来登录网络等。在此bjyourcomcom和yourcomcom就是两个不同的域。但是这两个域之间有信任关系,因为y ourcomcom是一个根域,bjyourcomcom是一个子域。子域之下还可以有子域,比如sales bjyourcomcom,相互之间都是可传递的信任关系,构成一棵域树。如果你的公司兼并了一家其他的公司,你的域树可以和它们的域树hiscomcom建立起整个的域森林来。DNS (domain name servic e)在此充当了名字解析的功能,我们建议使用与活动目录集成的DNS Server,来保证动态更新域名和更好的复制能力。整个域森林的所有对象,只要安全性管理许可,都可以用LDAP协议访问到。

在当今的Internet时代,微软活动目录这种基于Internet标准的做法,给用户带来了几乎无穷尽的益处。活动目录集成了关键服务,如DNS、MSMQ(消息队列服务);集成了关键应用,如电子邮件、网管、ERP等;集成了关键数据访问,如ADSI、OLE DB等;还集成了关键的安全性,如Kerberos第五版本和公开密钥基础设施等。

基于活动目录的网络基础设施服务(Directory-Enabled Networking, DEN)是微软和思科公司共同提出来的,旨在提高网络可管理性和提高网络服务质量的倡议。在Windows2000活动目录中,可以做到根据不同的用户或应用分配网络带宽等高级的网络管理任务,以及支持ATM网络和QoS协议等。

基于活动目录的应用服务(Directory-Enabled Application)是在Windows 2000平台上的新一代的应用程序。应用开发员可以扩展活动目录的Schema 和 UI,通过ADSI/ADO编程,在活动目录中发布service 绑定信息,通过Group Policy配置应用程序,进行JustIn Ti me应用下载和应用改变的自动通知等。比较典型的一个基于目录的应用的例子,是NetMeeting。在活动目录的环境中,你只要在NetMeeting中敲入同事的Email别名,就可以通过活动目录中的定位服务,与其进行对话和桌面协作等,非常方便。

活动目录的深入性(Comprehensive)

活动目录的深入性体现在企业级的可伸缩性,安全性,互操作性,编程能力和升级能力上。活动目录既可以存储极少的几个对象,也可以存储上亿万的对象。活动目录通过为每个域创建一个目录存储的方法来获得伸缩性。这一个目录存储中仅仅包括了这个域中的所有对象。当域树建立起来之后,每个域有能力搜索整个域树中所有的目录存储。这种划分整个域树的方法,使用户所需要的信息离用户最近,响应最好。域的目录存储还可以有很多的副本,副本之间自动地做同步,进一步提高响应速度和服务可获得性。

这种域树和域森林的方法,帮助活动目录使用容器层次来模拟一个企业的组织结构。组织中的不同部门可以成为不同的域,或者一个域中有层次结构的组织单元(Organizational Unit, OU),从而采用层次化的命名方法来反映组织结构和进行管理授权。顺着组织结构进行颗粒化的管理授权可以解决很多管理上的头疼问题,在加强中央管理的同时,又不失机动灵活性。

Windows NT 40中的很多域都可以成为OU,建立起更大的域和更简化的域关系,借助全局目录(G lobal Catalog) ,用户和管理员仍然能够迅速地找到对象和管理对象。Windows 2000可以在现存的Windows NT 40的环境中工作,保护现有的投资;微软也提供一系列的工具帮助40的用户迁移到Wi ndows 2000的目录环境中。微软提供DirectoryConnector使活动目录与Exchange Server 55、NDS的目录服务同步,并且Exchange 60干脆就采用了Windows 2000作其目录服务。

在活动目录中,目录存储只有一种形式,即域控制器(Domain Controller),包括了完整的域目录的信息,不再有主域控制器和备份域控制器的区别。所有的域控制器在用户访问和提供服务方面都是相同的。它们之间的同步是采用了一种先进的多主复制的技术,称为Update Sequence Numbers (USN)。每个服务器跟踪其复制伙伴的最新USN列表,保证及时更新并且更新不会有冲突或相互覆盖等。

Windows 2000的安全性服务(如Kerberos,PKI和智能卡等)和活动目录紧密结合。活动目录存储了域安全政策的信息,比如域口令的限制政策、系统访问权限等,实施了基于对象的安全模型和访问控制机制。在活动目录中的每个对象都有一个独有的安全性描述,定义了浏览或更新对象属性所需要的访问权限。但是,当LDAP客户端访问活动目录时,操作系统会实施访问安全控制,而不是由活动目录来决定访问控制的。Windows 2000 安全性和活动目录相辅相成,可以共同完成任务和协同管理。

活动目录的易用性(Ease of Use)

一个功能强大的目录服务如果不能易于使用,也不是一个好的目录服务。活动目录的易用性,也是Windows 2000整体Simplicity的一个体现。微软始终抱着这样的信仰:必须是大家乐于使用易于使用的技术,才是真正的好技术。因此,微软的活动目录也在此下了很大的功夫。

先说一下活动目录的安装。Windows NT Server 40的用户可能不习惯Windows 2000 Server的做法:所有的新安装都是安装成为Member Server,目录服务都需要事后用Dcprom o的命令特别安装。目录服务还可以卸载,而不用象在安装Windows NT 40那样,一开始就要定终身:区分域控制器还是Member Server,两者之间不可转换。

Dcpromo是一个图形化的向导程序,引导用户一步一步地建立域控制器,可以新建一个域森林,一棵域树,或者仅仅是域控制器的另一个备份,非常方便。很多其他的网络服务,比如DNS Server、DHCP Server和 Certificate Server等,都可以在以后与活动目录集成安装,便于实施策略管理等。

在活动目录安装之后,主要有三个活动目录的微软管理界面(MMC),一个是活动目录用户和计算机管理,主要用于实施对域的管理;一个是活动目录的域和域信任关系的管理,主要用于管理多域的关系;还有一个是活动目录的站点管理,可以把域控制器置于不同的站点。一般局域网的范围内,为一个站点,站点内的域控制器之间的复制是自动进行的;站点间的域控制器之间的复制,需要管理员设定,以优化复制流量,提高可伸缩性。从活动目录管理界面,还可以对SDOU(站点、域和组织单元的统称)右键点击,启动组策略(Group Policy)的管理界面,实施对对象的细致管理。

对于SDOU,管理员还可以方便地进行管理授权。右键点击SDOU就可以启动"管理授权向导",一步一步地设定哪些管理员对于哪些对象有什么样的管理权限。比如说企业内部技术支持中心的管理员,只有复位用户口令的权限,没有创建和删除用户账号的权限。这种更细致的管理方法,成为"颗粒化"。

另外,活动目录还充分地考虑到了备份和恢复目录服务的需要。Windows 2000备份工具中有专门备份活动目录的选项,在出现意外事故的时候,可以在机器启动时按F8进入安全模式,来进行目录服务的恢复,保证减少灾难的恶性影响。

结束语:寻找中国企业的大型网络通过我上述的介绍,相信您对于活动目录的出色之处已经有了一个初步的了解。作为产品经理,我们目前的一个工作是在找寻我国企业用户的大型网络。因为要发挥活动目录的企业级性能,需要有使用大型网络进行关键业务的用户,只有他们才能在实践中体会活动目录的优势。

也经常有人向我询问活动目录和NDS的比较情况。活动目录的集成性、深入性和易用性(ICE),是NDS整体上不能望其项背,比如NDS缺乏对DNS命名、纯粹LDAP访问、新的安全性机制的支持,有全局目录过于分离等设计缺陷。正如古人所说:一片冰心(ICE)在玉壶,用户自然有判断。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 网页中的虚拟目录有什么作用啊?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情