|
|
Re:[求助]exchange 2003中怎么实现web注册--十万火急,请帮助我,先谢了!!!(请使用
注册表服务器绑定<br>
使用服务器绑定时,注册表将请求处理传送到 ISAPI 扩展或具有相关脚本映射的文件(如 asp.dll)。然后,它将新查询字符串与某些特定参数一起处理。下表对这些参数进行了说明。<br>
<br>
表 2:服务器绑定参数<br>
<br>
参数 说明 <br>
FormUrl UTF-8 编码的 URL,指向 Exchange 存储中的窗体。在注册项中指定。 <br>
DataUrl UTF-8 编码的 URL,指向 Exchange 存储中被请求的数据项。 <br>
RegUrl UTF-8 编码的 URL,指向 Exchange 存储中与请求相匹配的注册项。 <br>
ExecuteParameters 窗体注册项的 ExecuteParameters 属性的内容。 <br>
WebFormsBrowserFlags browscap.ini 文件中,与请求的浏览器 User-Agent 字符串匹配的 WebFormsBrowserFlags 属性的内容。 <br>
<br>
<br>
用户代理最初发送到服务器的查询字符串仍然可用。使用该信息,ASP 脚本或其他代码可以访问数据项,并对其执行任何所需的处理操作。<br>
<br>
注册表搜索路径<br>
对启用 WSS 的虚拟根目录进行 HTTP 请求时,IIS 首先将请求提交给 ISAPI 扩展进行处理。在 Exchange 2000 中,由 davex.dll 完成。在 SharePoint Portal Server 2001 中,由 msdmisap.dll 完成。该 DLL 实际上封装了 davex.dll,并提供了其他功能。根据译码报头,请求由 DAV 或 OWA 处理。对于由 OWA 处理的任何 GET 或 POST 请求,将搜索窗体注册表,查看是否应使用定制的窗体。如果没有找到匹配的注册项,OWA 则返回项目或生成 HTML 页。<br>
<br>
搜索注册项使用的算法与搜索架构使用的算法相同。当请求存储中的项目时,第一步是找到要搜索的相应文件夹。检查被引用的项目,查看 urn:schemas-microsoft-com:exch-data:schema-collection-ref (SCR) 属性是否设置为特定的文件夹。如果已设置,则在该引用文件夹中查找注册项。大多数情况下,不是针对单个项目设置 SCR,而是对父文件夹进行设置。如果未对单个项目设置 SCR,则检查父文件夹 — 这是对文件夹进行请求的第一步。如果在父文件夹中未找到 SCR,则在全局架构文件夹中搜索注册项(请参阅本文后面的全局注册)。如果没有找到注册项,则使用默认的 OWA 处理。 <br>
<br>
找到 SCR 时,将在 SCR 文件夹中搜索所有注册项。当找到匹配项时,它将被用来处理被请求的项目。如果未找到匹配项,则对多值属性 urn:schemas-microsoft-com:exch-data:baseschema 指定的文件夹执行广度优先搜索。将使用包含匹配项的第一个文件夹。对于每个单独的文件夹,窗体注册项之间相互排序,决定最佳的匹配。<br>
<br>
使用 Web 存储系统资源管理器<br>
Web 存储系统 SDK 提供了许多在 WSS 上开发应用程序的工具。其中一个工具是 Microsoft Web 存储系统资源管理器(WSS 资源管理器)。WSS 资源管理器可以浏览文件夹、项目和元数据。您可以创建属性和内容类定义,并配置架构范围。资源管理器还包含创建窗体注册和事件注册的向导。本节中,我们将简单了解如何使用 WSS 资源管理器访问窗体注册表以及如何创建注册项。<br>
<br>
有关安装和使用 WSS SDK 工具的详细信息,请转到 MSDN Online 的 Web 存储系统部分(英文)。<br>
<br>
使用 Web 存储系统资源管理器<br>
单击“开始”按钮,指向“程序”、“Web Storage System SDK”,然后指向“Web Storage System Tools”。<br>
<br>
<br>
单击“Web Storage System Explorer”。<br>
<br>
<br>
在“Authorization”对话框中,输入您的用户名、密码和指向邮箱存储、公用文件夹或公用文件夹树的根目录 URL。<br>
<br>
<br>
WSS 资源管理器将启动(请参阅图 2)。 <br>
<br>
<br>
图 2:Web 存储系统资源管理器 <br>
<br>
创建窗体注册<br>
浏览到要在其中创建新窗体注册的文件夹。<br>
<br>
<br>
在“File”菜单上,单击“Add Form Registration”。窗体向导将启动(请参阅图 3)。<br>
<br>
<br>
图 3:Web 存储系统资源管理器窗体注册表向导<br>
<br>
<br>
<br>
输入窗体注册的名称,并单击“下一步”。<br>
<br>
<br>
输入窗体的统一资源定位器 (URL),并单击“下一步”。<br>
<br>
<br>
在下拉列表中,输入或选择窗体执行的操作,并单击“下一步”。<br>
<br>
<br>
在下拉列表中,选择窗体支持的浏览器,并单击“下一步”。对所有的浏览器选择“any”。<br>
<br>
<br>
选择数据绑定类型:客户端、服务器或 WebClient,并单击“下一步”。<br>
<br>
<br>
选择请求方法:Any、Post 或 Get,并单击“下一步”。<br>
<br>
<br>
输入或选择一个内容类,然后单击“下一步”。<br>
<br>
<br>
单击“完成”。 <br>
该向导在当前选定的文件夹中创建的窗体注册为隐藏项目。<br>
<br>
查看和修改窗体注册<br>
可以使用 WSS 资源管理器查看和修改现有的注册。<br>
<br>
使用“窗体向导”进行编辑:<br>
浏览到包含窗体注册的文件夹。<br>
<br>
<br>
在“Detail View”中,展开“Item Collection”。<br>
<br>
<br>
在展开的项目列表中,选择一个窗体注册。<br>
<br>
<br>
用鼠标右键单击该窗体注册,然后选择“Modify Form Registration”。这将启动窗体注册向导。 <br>
使用“属性视图”进行编辑:<br>
<br>
浏览到包含窗体注册的文件夹。<br>
<br>
<br>
在“Detail View”中,展开“Item Collection”。<br>
<br>
<br>
在展开的项目列表中,选择一个窗体注册。<br>
<br>
<br>
在左下侧的属性窗口中,通过双击项目选择要编辑的属性。 <br>
窗体注册属性的名称为 urn:schemas-microsoft-com:office:forms# 后附加属性名。<br>
<br>
示例:urn:schemas-microsoft-com:office:forms#cmd)。<br>
<br>
所有属性的列表,请参阅表 1。<br>
<br>
另外,可以用鼠标右键单击属性窗口,然后选择在项目中添加或删除属性。<br>
<br>
将来的工具<br>
将来,Visual Studio.Net 将提供“服务器资源管理器”。使用服务器资源管理器,能够创建和管理 WSS 中的应用程序元素,并将这些元素集成到您的 Visual Studio.NET 项目中。<br>
<br>
服务器资源管理器提供了下列功能:<br>
<br>
创建应用程序文件夹,并设置其属性。<br>
<br>
<br>
创建和管理 Web 存储系统应用程序的定制架构。<br>
<br>
<br>
创建窗体注册。<br>
<br>
<br>
创建事件注册。<br>
<br>
<br>
将 Web 存储系统文件夹作为数据源集成到您的 Visual Studio.NET Web 应用程序或 Web 服务项目中。 <br>
有关 Visual Studio.Net 和服务器资源管理器的详细信息,请参阅 .Net Developer Center(英文) 和 Exchange Developer Center(英文)。<br>
<br>
使用 Visual Basic 创建注册<br>
另一种方法是,使用 Visual Basic 代码将窗体注册编写为可以在 Exchange 或 SharePoint Portal 服务器上本地执行的脚本、组件或应用程序。以下代码示例演示了如何使用 Visual Basic 脚本创建窗体注册。<br>
<br>
'Where scrFolder points to a public folder<br>
Set oCon = CreateObject("ADODB.Connection")<br>
oCon.ConnectionString = scrFolder + "/resources"<br>
oCon.Provider = "ExOledb.Datasource"<br>
oCon.Open<br>
<br>
Set oRec = CreateObject("ADODB.Record")<br>
oRec.Open "defaultASPForm.frg", oCon, 3, 0<br>
oRec.Fields("DAV:contentclass") = _<br>"urn:schemas-microsoft-com:office:forms#registration"<br>
oRec.Fields("urn:schemas-Microsoft-com:office:forms#binding") = "server"<br>
oRec.Fields("urn:schemas-microsoft-com:office:forms#cmd") = "*"<br>
oRec.Fields("urn:schemas-microsoft-com:office:forms#contentclass") = _<br>"Report"<br>
oRec.Fields("urn:schemas-microsoft-com:office:forms#contentstate") = "*"<br>
oRec.Fields("urn:schemas-microsoft-com:office:forms#executeurl") = _<br>"Report.asp"<br>
oRec.Fields("urn:schemas-microsoft-com:office:forms#formurl") = _<br>"Report.asp"<br>
oRec.Fields("urn:schemas-microsoft-com:office:forms#request") = "*"<br>
oRec.Fields.Update<br>
oRec.Close<br>
<br>
注册表示例 - 指南<br>
在本节中,您可以使用 WSS 资源管理器按部就班地创建注册项(请参阅前一节:使用 Web 存储系统资源管理器)。此项目绑定到客户端,并替换请求一个文本文件时返回的内容。<br>
<br>
若要不使用窗体注册查看项目,请在 Exchange Server 中执行以下操作:<br>
<br>
转到“开始”->“程序”->“Web Storage System SDK”->“Web Storage System Tools”->“Web Storage System Explorer”,打开 WSS 资源管理器。提示您输入用户名和密码。使用具有适当权限的帐户证书,并以 <a target=_blank href=http://<>http://<</a>;yourserver>/public 的形式指定 URL。<br>
<br>
<br>
使用 WSS 资源管理器,选择根节点 (<a target=_blank href=http://<>http://<</a>;yourserver>/public) 并用鼠标右键单击并选择“Create Folder”。使用 Sample 作为新文件夹的名称。<br>
<br>
<br>
使用 Windows 资源管理器,浏览到 M: 驱动器,然后选择“Sample”文件夹(例如:m:\MICROSOFT.COM\PUBLIC FOLDERS\Sample)。<br>
<br>
<br>
在文件夹中,创建一个新文本文件 data.txt,并在其中指定下列内容:<br>
“--- DATA 您具有数据项。未找到注册表匹配项。”<br>
<br>
创建另一个文件 form.htm,并在其中指定下列内容:<br>
“--- 注册表精确匹配。该请求与一个注册项匹配。”<br>
<br>
使用 Web 浏览器,浏览到 <a target=_blank href=http://<>http://<</a>;yourserver>/public/sample/data.txt。您应该注意到文本文件的正文已返回浏览器。 <br>
执行下列步骤,创建一个窗体注册并查看文本文件:<br>
<br>
使用 WSS 资源管理器,突出显示 Sample 文件夹,使其处于活动状态。<br>
<br>
<br>
在“Detail View”中,展开架构容器,并选择 schema-collection-ref。<br>
<br>
<br>
用鼠标右键单击并选择 Edit Schema-Collection-Reg。这将启动“URL Selector”窗口。<br>
<br>
<br>
浏览到 Sample 文件夹,并单击“确定”。Sample 文件夹被指定为应用程序的窗体注册表。<br>
<br>
<br>
在“Detail View”中,突出显示“Sample”之下的项目容器。它代表了存储在文件夹中的项目。(要刷新列表,请用鼠标右键单击并选择“Refresh Items”。)<br>
<br>
<br>
用鼠标右键单击 Items 容器,并选择“Form Registration Wizard”。这将启动向导,引导您逐步创建窗体注册。<br>
使用下列信息回答向导的问题。<br>
<br>
属性 值 <br>
Name Registration.freg <br>
Form URL form.htm <br>
Action * <br>
Browser Any <br>
Binding Type Client <br>
Request Method GET <br>
Content Class urn:content-classes:document <br>
<br>
<br>
浏览到 <a target=_blank href=http://<>http://<</a>;yourserver>/public/sample/data.txt。您应注意到这时处理的是 form.htm 中的文本,而不是 data.txt 中的文本。这表明已使用了定制窗体。<br>
注意: 由于 IIS 中使用了高速缓存技术,注册可能不会立即生效。重新启动 Web 服务 (IIS) 可以清除高速缓存。<br>
<br>
为了使该示例更具有实际意义,可以添加附加窗体和注册,确定使用哪一个 Web 浏览器:<br>
<br>
使用 Windows 资源管理器,在 sample 文件夹中创建附加文件“form2.htm”,并在其中指定下列内容:<br>
“--- 注册表精确匹配。用于 Netscape 浏览器”。<br>
<br>
使用 WSS 资源管理器,用鼠标右键单击 Items 容器,并选择“Form Registration Wizard”。<br>
使用下列信息回答向导的问题。<br>
<br>
属性 值 <br>
Name Netscape.freg <br>
Form URL Form2.htm <br>
Action * <br>
Browser Netscape Navigator <br>
Binding Type Client <br>
Request Method GET <br>
Content Class urn:content-classes:document <br>
<br>
<br>
在 Items 中,选择刚刚创建的 Netscape 注册。<br>
注意: 可能必须刷新才能看到项目。<br>
<br>
在属性窗口中,定位到右下角,浏览注册项的属性。<br>
<br>
<br>
找到属性“urn:schemas-microsoft-com:office:forms#browser”,并确保值为“Netscape”(不是 Netscape Navigator)。要编辑属性,请双击项目启动编辑窗口。<br>
<br>
<br>
使用 Internet Explorer 和 Netscape 浏览到 <a target=_blank href=http://<>http://<</a>;yourserver>/public/sample/data.txt。注意,根据所用的浏览器的不同,加载的窗体也不相同。 <br>
本示例提供了如何使用窗体注册表返回 WSS 中存储数据的定制界面的基本知识。查看所创建的窗体注册项的属性。formurl 指向 HTML 窗体的 URL,executeurl 属性指向窗体处理器。窗体处理器在 Exchange 2000 Service Pack 1 或 SharePoint Portal Server 中提供。要使用基于 ASP 的窗体,请更改 formurl 和 executeurl,使其指向 ASP 页。更多情况下,使用其他可用属性(请参阅表 1),可以创建附加注册项来加载不同的窗体。<br>
<br>
全局注册<br>
某些情况下,需要创建一个可以应用于 Exchange 存储中所有内容的窗体注册。这可以通过使用全局架构文件夹在 TLH 级别创建。全局架构存储在公用文件夹树的 /non_ipm_subtree/schema/ 文件夹和应用程序 TLH 中。<br>
<br>
对于私有文件夹中的应用程序,全局架构文件夹将应用于所有邮箱。每个服务器的路径都不同,但都类似于 /exchange/SystemMailbox{GUID}/non_ipm_subtree/schema/。 <br>
<br>
对于 Technology Preview For Exchange 2000、Exchange 2000 Service Pack 1 和 SharePoint Portal Server 2001,全局架构的位置是不同的。应该在 /virtual root/##schemauri##/DEFAULT 文件夹中创建全局注册。##schemauri## 标记可用于任何文件夹,而且总是解析到同一个位置。##SchemaUri## 标记将映射到 /non_ipm_subtree/schema-root/ 文件夹。<br>
<br>
注意: 在 Web 浏览器和许多工具中,##SchemaUri## 必须输入为 %23%23SchemaUri%23%23。<br>
<br>
其他信息<br>
有关在 Web 存储系统上开发应用程序的详细信息,请访问 WSS Developer Center(英文)。<br>
<br>
有关 Exchange 2000 开发的其他信息,请参阅 Exchange Server Developer Center(英文)。<br>
<br>
有关 Tahoe Server 的信息,请访问 Microsoft Portal Server 2001 网站(英文)。<br>
<br>
有关 Visual Studio.Net 的信息,请参阅 Net Developer Center(英文)。<br>
<br>
术语表<br>
以下是本文中使用的术语列表:<br>
<br>
应用程序<br>
<br>
Microsoft Web 存储系统中的文件夹,它将最终用户创建的文档与应用程序作者创建的 HTML 页和注册组合在一起。<br>
<br>
数据绑定<br>
<br>
通常,绑定是指通过注册将存储在 Web 存储系统中的数据与 HTML 连接在一起的过程。绑定可以发生在客户端(如果是 Internet Explorer 浏览器版本 5 或更高版本),也可以发生在服务器端。服务器端的绑定可以由 Web 存储系统处理器或 ASP 脚本处理。类似地,将用于显示 Web 存储系统属性的 HTML 标记称为“绑定”到该属性。<br>
<br>
DAV<br>
<br>
分布式创作和版本管理,用于访问 Microsoft Web 存储系统中项目的协议。它提供了一种方法,既能访问项目内容,又能访问扩展的相关属性集。也称为 HTTP/WebDAV 协议。<br>
<br>
DLL <br>
<br>
动态链接库。<br>
<br>
文件夹<br>
<br>
Web 存储系统中的项目容器。<br>
<br>
窗体<br>
<br>
可以显示或更新 Web 存储系统中项目属性的 HTML 页。某些窗体同时可以显示和更新项目。<br>
<br>
窗体注册项<br>
<br>
窗体注册(或注册项)是 Web 存储系统中的一个项目,由一系列窗体定义域组成。这些域指定了要匹配的属性(例如浏览器类型和语言)以及处理信息。同时还指定了要处理的窗体以及窗体的处理方式。系统处理从 HTTP 请求报头中读取的信息,并与存储在 Browsecap.ini 中的浏览器信息进行比较,以确定浏览器的性能。ISAPI.dll 使用最佳拟合来比较窗体注册表,确定要显示的窗体。<br>
<br>
窗体注册表<br>
<br>
Web 存储系统中,连接数据与 HTML 页的窗体注册或项目的完整列表。<br>
<br>
IIS<br>
<br>
Internet 信息服务器。Windows 2000 Server 中提供的 Microsoft 企业级 Web 服务。<br>
<br>
ISAPI<br>
<br>
Internet 服务器应用程序编程接口。<br>
<br>
OWA<br>
<br>
请参阅下面的 Outlook Web Access。<br>
<br>
Outlook Web Access<br>
<br>
Web 存储系统的用户界面(类似于 Outlook Office 应用程序)框架。它为多种类型的项目和文件夹提供了默认窗体和视图,以及在 Web 存储系统中的导航方式。<br>
<br>
属性<br>
<br>
Web 存储系统的最小存储单位。它具有名称、数据类型和其他特性。在窗体中,属性经常称为域。在视图中,属性经常称为列。<br>
<br>
属性定义<br>
<br>
抽象说明属性的所有特性:它的名称、数据类型、是否可写或具有多个值等等。<br>
<br>
注册项<br>
<br>
请参阅窗体注册项。<br>
<br>
视图<br>
<br>
对 Web 存储系统中文件夹内容的一种处理方式,通常为 HTML 表,其中每行代表一个项目,每列代表项目的一个属性。<br>
<br>
WebDAV<br>
<br>
请参阅 DAV。<br>
<br>
Web 存储系统<br>
<br>
全新的数据库技术,将文档存储、HTML 查看和处理以及协作功能集成在一个平台上,实现基于 Web 的协作。<br>
<br>
WSS<br>
<br>
请参阅上面的 Web 存储系统。<br>
<br>
WSS Platform SDK<br>
<br>
提供在 Web 存储系统上建立应用程序的技术信息和代码示例(英文)。<br>
<br>
XML<br>
<br>
可扩展标记语言,一种提供描述结构化数据格式的元标记语言。使内容的声明更精确,并使跨多个平台的搜索结果更具有实际意义。<br><br>
<br>
个人信息中心<br><br>
|
|