Welcome

首页 / 软件开发 / VC.NET / 从Managed Extensions for C++中使用.NET My Services

从Managed Extensions for C++中使用.NET My Services2009-12-23Diana Mitran摘要:本白皮书将指导您编写一个使用示例 .NET My Services 的客户端应用程序。该客户端应用程序将使用 Managed Extensions for C++、Visual Studio® .NET 和 .NET My Services 软件开发包 (SDK) 来编写。与 Visual C#™ 或 Visual Basic® 客户端应用程序相比,您还需要执行其他一些步骤。本白皮书假定您已经熟悉 Visual Studio XML Web Service 模型,该模型用于创建和使用来自客户端应用程序的一般 Web Service。

简介

作为 Microsoft® .NET 的先行措施,Microsoft 引入了以用户为中心的体系机构和一套 XML Web Service(称为 .NET My Services,以前的代码名为“HailStorm”)。.NET My Services 建立在 Microsoft .NET Alerts 和 Microsoft .NET Passport 的功能基础之上,是一系列 XML Web Service,将于 2002 年面世。到那时候,用户将可以安全地存储个人信息并控制对个人信息的访问。.NET My Services 平台是 XML Web Service 的集合,可以使用行业标准协议(包括简单对象访问协议 [SOAP]、XML 以及通用说明、发现和集成 [UDDI])通过 Internet 进行调用。NET My Services 可以对用户进行验证,可以发送警报,还可以存储个人信息,包括联系人、电子邮件、日历、配置文件、列表、电子钱包、物理位置、文档库、应用程序设置、收藏的 Web 站点、拥有的设备和接收警报的首选项。

为了鼓励开发人员开发使用这些服务的应用程序,Microsoft 在 2001 年 10 月召开的专业开发人员会议上发布了 .NET My Services SDK。此 SDK 包含示例服务和两个公开源代码的项目,以便将 Visual Studio 与 .NET My Services 集成。这些公开源代码的项目是用 Visual C# 编写的,它们为 Visual Studio 提供了额外的功能,使用户能够无缝地处理以下示例中的 .NET My Services 的特定特性。

首先,您应该知道 .NET My Services 使用称为 .NET Services 的中心元服务,理解这一点非常重要。在客户端和其他 .NET My Services(例如 .NET Contacts 或 .NET Wallet)之间的相互作用方面,此服务担当中介。集中化的 .NET Services 还可以代表用户对其他服务的提供进行管理,并在运行时将其他服务的位置传达给客户端。因此,在确定特定请求的地址之前,客户端应用程序必须与中心 .NET My Services 协商事务。

.NET My Services 还使用 Kerberos 验证协议并对所有 SOAP 数据包进行加密,以确保用户私人数据的安全。这意味着,所有客户端应用程序都必须提供请求 Kerberos 验证单的功能,并且必须在所有的 SOAP 请求中显示这些验证单。同样,客户端还必须能够加密 SOAP 请求并解密 SOAP 响应。

.NET My Services 服务定位器和加密中使用的所有技术都基于公开标准,并且有详尽的文档,这样,.NET My Services 开发人员就可以开发他们自己的应用程序层来处理这些功能。不过,.NET My Services SDK 包括两个可以解决这些问题的共享源代码项目。对于 Visual C# 和 Visual Basic,用户只需要在他们的客户端应用程序中包括对这些项目的引用,便可以利用这些功能。从根本上来说,这些功能允许开发人员像对其他 XML Web Service 一样来对 .NET My Services 进行编码。

注意:还需要提供一些其他措施,用于解决 Managed Extensions for C++ 客户端应用程序的 Add Web Reference(添加 Web 引用)对话框的局限性。其中,Managed Extensions for C++ 客户端应用程序使用了 XML Web Service(使用强类型的数据集)。在将来的 Visual Studio .NET 版本中,将不再需要这些附加措施。演练

在此演练中,您将从 .NET My Services SDK 生成 HsSoapExtension.dll,创建简单的 Managed Extensions for C++ 客户端,还将使用示例客户端代码向您的 .NET FavoriteWebSites 添加 Web 站点。

生成 HsSoapExtension.dll

在 Visual Studio 中,打开集成开发环境 (IDE)。

在 File(文件)菜单上,单击 Open(打开),然后单击 Project(项目)。

浏览 .NET My Services SDK 文件夹,并找到 HsSoapExtension 解决方案。

单击 Open(打开)。

在 Build(生成)菜单上,单击 Build Solution(生成解决方案)。 注意:本演练后面将用到 HsSoapExtension.dll。

创建简单的 Managed Extensions for C++ 客户端

在 File(文件)菜单上,单击 New(新建),然后单击 Project(项目)。

将显示 New Project(新建项目)对话框。

在 Project Types(项目类型)窗格中,单击 Visual C++,然后在 Templates(模板)窗格中,单击 Managed C++ Application(管理 C++ 应用程序)。

在 Name(名称)框中,输入 MyServiceClient。

单击 OK(确定)。

在命令行中找到 MyServiceClient 项目目录,然后运行以下命令:disco http://localhost/WSDL/myFavoriteWebSites.wsdl

此命令将下载 soaprp.xsd 和 myFavoriteWebSites.wsdl 文件并生成 results.discomap。生成的 .discomap 文件将说明 .wsdl 和 .xsd 文件之间的依存关系。