转至繁体中文版     | 网站首页 | 图文教程 | 资源下载 | 站长博客 | 图片素材 | 武汉seo | 武汉网站优化 | 
最新公告:     敏韬网|教学资源学习资料永久免费分享站!  [mintao  2008年9月2日]        
您现在的位置: 学习笔记 >> 图文教程 >> 软件开发 >> VB.NET程序 >> 正文
*** Web 存储系统窗体:窗体注册表 (new)***         ★★★★

*** Web 存储系统窗体:窗体注册表 (new)***

作者:闵涛 文章来源:闵涛的学习笔记 点击数:2331 更新时间:2009/4/23 18:58:09
Web 存储系统窗体:窗体注册表

摘要Web 存储系统 (WSS) 提供了建立协作应用程序的新平台。与 WSS 一起,Microsoft 还同时引进了 WSS 窗体注册表(或窗体注册表)。窗体注册表是开发基于 WSS 的应用程序的关键技术之一。窗体注册表使定制的应用程序能够处理 HTTP 请求中引用的项目或文件夹,这可以通过注册项目来完成。本文重点介绍如何使用 WSS 窗体注册表。(14 页打印纸)

目录

简介
要求
WSS 窗体注册表概述
注册项属性
注册表语言备用
注册表服务器绑定
注册表搜索路径
使用 Web 存储系统资源管理器
使用 Visual Basic 创建注册
注册表示例 - 指南
全局注册
其他信息
术语表

简介

窗体注册表是 Web 存储系统 (WSS) 引进的一项关键技术。该注册表将基于 Web 的窗体(Active Server Page 或 HTML)绑定到特定类型的数据。这样,系统可以在提交 HTTP 请求时忽略数据的处理方式。绑定通过创建注册项(或仅注册)来实现。注册完成将网页绑定到存储在 Web 存储系统中的数据的过程。注册是存储中创建的项目,包含特定的属性(例如,浏览器类型、本地化信息和版本信息),帮助确定返回给客户端的 HTML 内容。

注册确定显示特定窗体的时间。当 Web 存储系统接收到一个请求时,存储会同时使用 HTTP 请求报头和被请求项目的属性来标识一个注册项。然后,WSS 将控制权传递给在注册项中标识的可执行代码或脚本来处理 HTTP 请求。

Outlook Web Access (OWA) 利用内置注册处理 Web 存储系统中定义的默认项目类型(内容类)。开发人员可以添加新注册来覆盖默认行为并处理定制的数据类型。打开项目时,将返回 ASP 或 HTML 页,而不是进行默认的 OWA 处理。

通过本文,我们将深入了解 Web 存储系统窗体注册表以及如何创建注册项。

要求

使用窗体注册表之前,必须首先安装 WSS。WSS 是 Exchange 2000 和 SharePoint™ Portal Server 2001 最基本的数据库技术。这两个产品都允许您使用窗体注册表。

WSS 窗体注册表概述

何谓窗体注册表?

窗体注册表提供了一种方法,使应用程序能够将存储中的物理数据连接到用户的可视化界面。简而言之,窗体注册表是包含注册项的文件夹。而应用程序通过指向这些文件夹(或注册表)引用注册项。不应将窗体注册表和 Windows 系统注册表混为一谈。Windows 系统注册表是完全不相关的另一个实体。

窗体注册项

简单地讲,窗体注册项是 WSS 中将 DAV:contentclass 属性设置为 urn:schemas-microsoft-com:office:forms#registration 的项目。

注册项由一系列窗体定义域组成。这些域指定了要匹配的属性(例如浏览器类型和语言)以及处理信息。同时还指定了要处理的窗体以及窗体的处理方式。系统处理从 HTTP 请求报头中读取的信息,并与存储在 Browsecap.ini 中的浏览器信息进行比较,以确定浏览器的性能。ISAPI DLL 使用最佳拟合来比较窗体注册表,确定要显示的窗体。

建立以数据为中心的应用程序

通常,Web 设计人员可能需要用另一个不同的网页加载同一组数据。这通常通过提示用户选择站点首选项(即使用哪个浏览器和/或哪种语言)来完成。使用窗体注册表可以省略这些步骤,使应用程序更加“以数据为中心”。

可以将“以数据为中心”定义为服务器使用单一 URL 动态处理一组数据的正确格式的能力。例如,如果用户正从其他国家浏览 Internet,您可能希望网页能够以本地化后的样式返回。与此相似,如果使用 Pocket Internet Explorer 之类的浏览器,可能会返回简化的网页。

窗体注册表使建立这种逻辑更为轻而易举。可以创建某些注册项,指定不同网页的显示标准。(有关详细信息,请参阅本文后面的注册项属性。)

窗体注册表流程

理解窗体注册表工作原理的最简单方法是亲自尝试整个流程。图 1 显示了如何请求数据并将其返回给客户端浏览器。编号项显示了流程的各个步骤,以下将进行详述。

图 1:WSS 窗体流程

  1. 用户打开文件夹或邮件,从 WSS 请求信息。该请求由 Microsoft Internet 信息服务 (IIS) 处理。

  2. IIS 调用 Internet 服务器应用程序编程接口 (ISAPI) 动态链接库 (DLL)。该 DLL 也就是 WSS 用来处理所有 HTTP 全球广域网分布式发布和版本管理 (WebDAV) 请求的 DLL。ISAPI DLL 检查窗体注册表,查看是否存在匹配的注册项。

  3. 如果找到了匹配项,计算机将检查窗体注册项,确定处理该窗体的方式。如果不存在匹配项,将用标准窗体处理被请求的信息。

  4. 如果窗体使用服务器端窗体绑定,则窗体注册表将向窗体处理器传递两个参数:
    • DataURL - 被请求项目的统一资源定位器 (URL)。

    • FormURL - formurl 参数的值。

    注意:   如果窗体正在使用客户端窗体绑定,则窗体将返回到 IIS(步骤 6)。

  5. 可以使用三种方式处理 WSS 窗体:
    • 作为定制的 Active Server Pages (ASP) 页

    • 作为使用窗体处理器的 HTML 页

    • 作为使用窗体处理器的 ASP 页
  6. 现在数据项已绑定到窗体。数据项可以是邮件、联系人、日历或定制的属性等。

  7. 窗体处理器将窗体和窗体数据返回给 IIS。

  8. IIS 将网页返回到发出请求的 Web 浏览器。根据 Web 浏览器的功能,数据被绑定到服务器或客户端。

注册项属性

WSS 窗体注册表由注册项组成,而注册项由一组与被请求的项目或文件夹相关的属性以及用户环境的属性组成。本节中,我们将详细说明组成注册项的各种属性。

注册示例

了解注册的最佳途径是参考示例以及针对各个部分的说明。以下是使用 XML 定义的注册示例。(有关使用 XML 的详细信息,请参阅 XML Developer Center。)

<?xml version="1.0"?> 
<g:propertyupdate xmlns:g="DAV:" 
xmlns:form="urn:schemas-microsoft-com:office:forms"> 
 <g:set> 
 <g:prop> 
 <g:contentclass>
urn:schemas-microsoft-com:office:forms#registration
</g:contentclass>
 <form:request>GET</form:request>
 <form:cmd>new</form:cmd>
 <form:browser>*</form:browser>
 <form:version>*</form:version>
 <form:majorver>*</form:majorver>
 <form:minorver>*</form:minorver>
 <form:platform>*</form:platform>
 <form:language>*</form:language>
 <form:contentclass>urn:content-classes:folder</form:contentclass>
 <form:contentstate>*</form:contentstate>
 <form:messagestate>*</form:messagestate>
 <form:executeurl>form.asp</form:executeurl>
 <form:formurl>form.asp</form:formurl>
 <form:executeparameters></form:executeparameters>
 <form:binding>server</form:binding>
 </g:prop>
 </g:set>
</g:propertyupdate>

下表描述了注册示例中使用的每个域。

表 1:窗体注册属性

属性名 说明 Request “请求属性”引用请求中使用的 HTTP 方法。仅支持 GET 和 POST。不能将窗体注册表用于覆盖其他任意方法。 Cmd 该域引用 URL 查询字符串中使用的“cmd”选项。例如:http://server/public/folder/item.eml?Cmd=open。 Contentclass 必选属性。该属性引用被请求项目的内容类。它必须与注册精确匹配,以便与请求匹配。 Browser 客户端使用的浏览器。例如 Internet Explorer 或 Netscape。可以使用 User-Agent 报头在 browscap.ini 文件中查找该信息。 Version 客户端使用的浏览器版本。例如:Internet Explorer 5.01,Version = "5.01"。 MajorVer Web 浏览器版本的主版本号。例如:Netscape 4.76,Majorver = 4 MinorVer Web 浏览器版本的次版本号。例如:Netscape 4.76,Minorver = 76 Platform 客户端使用的操作系统。可以使用 User-Agent 报头在 browscap.ini 文件中查找该信息。例如:WINNT Language 该属性引用浏览器发送的 Accept-Language 报头中的客户端浏览器语言。可以根据语言的精确程度以及用户的首选项,使用最佳匹配算法来查找相应的注册项。只能为每个注册项指定一种语言。 ContentState 该属性与项目的内容状态属性相匹配。它是字符串值,因此易于在工作流类型的应用程序中使用。 MessageState 该属性引用项目的邮件状态。通常,应用程序优先采用内容状态。 ExecuteUrl 对于服务器绑定,该属性必须设置为一个 URL,该 URL 引用处理请求时执行的 ISAPI 或脚本映射文件(如 ASP 脚本)。 FormUrl 必选属性。它必须是一个指向 Exchange 虚拟根目录中的 HTML 窗体或 ASP 的 URL。 ExecuteParameters 该执行参数附加到重定向至 ExecuteUrl 时使用的查询字符串。它允许传入附加选项来定制如何处理请求。 Binding 绑定可以是“服务器”、“客户端”或“WebClient”之一。在服务器绑定中,执行 ExecuteUrl。对于客户端绑定,FormUrl 直接发送到客户端。对于 WebClient 绑定,OWA 执行项目处理操作。

属性优先级

搜索文件夹中的注册项查找最佳匹配时,所有可能的匹配值都具有一个相对重要级别。最高优先次序是基于在注册项中指定的属性。它们的相对重要级别如下所示:

  1. Request

  2. Cmd

  3. MessageState

  4. ContentState

  5. Browser

  6. Version

  7. Platform

  8. MajorVer

  9. MinorVer

  10. Language

对于 majorver 和 minorver 属性,表达式的优先次序如下:=,<=,>=,<,> 

当找不到精确匹配时,可以在注册项中使用通配符 (*)。注册表不支持在一个值后面输入通配符,例如“foo*”。

空值的优先级最低。如果未使用属性,建议不要在注册项中使用属性,也不要使用通配符。

注册表语言备用

当 Web 浏览器发出请求时,它将发送一个 Accept-Language 报头,其中包含一个或多个用户希望使用的语言。检查下列请求:

GET / HTTP/1.1

Host: server
Accept-Language: en-us,ja;q=0.8,fr;q=0.5,de;q=0.3 

在本示例中,“en-us”具有最高的优先级,以后依次是“ja”、“fr”和“de”。如果已将窗体注册设置为 language=en,则它可以与该请求匹配,但指定 language=en-us 的注册的优先级更高。

注册表服务器绑定

使用服务器绑定时,注册表将请求处理传送到 ISAPI 扩展或具有相关脚本映射的文件(如 asp.dll)。然后,它将新查询字符串与某些特定参数一起处理。下表对这些参数进行了说明。

表 2:服务器绑定参数

参数 说明 FormUrl UTF-8 编码的 URL,指向 Exchange 存储中的窗体。在注册项中指定。 DataUrl UTF-8 编码的 URL,指向 Exchange 存储中被请求的数据项。 RegUrl UTF-8 编码的 URL,指向 Exchange 存储中与请求相匹配的注册项。 ExecuteParameters 窗体注册项的 ExecuteParameters 属性的内容。 WebFormsBrowserFlags browscap.ini 文件中,与请求的浏览器 User-Agent 字符串匹配的 WebFormsBrowserFlags 属性的内容。

用户代理最初发送到服务器的查询字符串仍然可用。使用该信息,ASP 脚本或其他代码可以访问数据项,并对其执行任何所需的处理操作。

注册表搜索路径

对启用 WSS 的虚拟根目录进行 HTTP 请求时,IIS 首先将请求提交给 ISAPI 扩展进行处理。在 Exchange 2000 中,由 davex.dll 完成。在 SharePoint Portal Server 2001 中,由 msdmisap.dll 完成。该 DLL 实际上封装了 davex.dll,并提供了其他功能。根据译码报头,请求由 DAV 或 OWA 处理。对于由 OWA 处理的任何 GET 或 POST 请求,将搜索窗体注册表,查看是否应使用定制的窗体。如果没有找到匹配的注册项,OWA 则返回项目或生成 HTML 页。

搜索注册项使用的算法与搜索架构使用的算法相同。当请求存储中的项目时,第一步是找到要搜索的相应文件夹。检查被引用的项目,查看 urn:schemas-microsoft-com:exch-data:schema-collection-ref (SCR) 属性是否设置为特定的文件夹。如果已设置,则在该引用文件夹中查找注册项。大多数情况下,不是针对单个项目设置 SCR,而是对父文件夹进行设置。如果未对单个项目设置 SCR,则检查父文件夹 — 这是对文件夹进行请求的第一步。如果在父文件夹中未找到 SCR,则在全局架构文件夹中搜索注册项(请参阅本文后面的全局注册)。如果没有找到注册项,则使用默认的 OWA 处理。 

找到 SCR 时,将在 SCR 文件夹中搜索所有注册项。当找到匹配项时,它将被用来处理被请求的项目。如果未找到匹配项,则对多值属性 urn:schemas-microsoft-com:exch-data:baseschema 指定的文件夹执行广度优先搜索

[1] [2] [3]  下一页


[聊天工具]Gmail推出新功能:Web Clip__天极Yesky  [聊天工具]Web MSN你玩了吗__天极Yesky
[系统软件]Web Browser Express 概述  [系统软件]对Internet Explorer Web 控件做一点修改
[常用软件]小技巧:三步实现Web迅雷录制PPLive节目  [常用软件]天网防火墙:打开WEB和FTP服务
[VB.NET程序]使用VB.Net做一个配置web.config功能的WinForm(原…  [VB.NET程序]vb.net控件、web service简述
[VB.NET程序]使用vbscript脚本调用web服务  [Delphi程序]李维:樂趣無窮,可能無限的新技術-Web Service
教程录入:mintao    责任编辑:mintao 
  • 上一篇教程:

  • 下一篇教程:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      注:本站部分文章源于互联网,版权归原作者所有!如有侵权,请原作者与本站联系,本站将立即删除! 本站文章除特别注明外均可转载,但需注明出处! [MinTao学以致用网]
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)

    同类栏目
    · C语言系列  · VB.NET程序
    · JAVA开发  · Delphi程序
    · 脚本语言
    更多内容
    热门推荐 更多内容
  • 没有教程
  • 赞助链接
    更多内容
    闵涛博文 更多关于武汉SEO的内容
    500 - 内部服务器错误。

    500 - 内部服务器错误。

    您查找的资源存在问题,因而无法显示。

    | 设为首页 |加入收藏 | 联系站长 | 友情链接 | 版权申明 | 广告服务
    MinTao学以致用网

    Copyright @ 2007-2012 敏韬网(敏而好学,文韬武略--MinTao.Net)(学习笔记) Inc All Rights Reserved.
    闵涛 投放广告、内容合作请Q我! E_mail:admin@mintao.net(欢迎提供学习资源)

    站长:MinTao ICP备案号:鄂ICP备11006601号-18

    闵涛站盟:医药大全-武穴网A打造BCD……
    咸宁网络警察报警平台