Project PSI 参考概述 Project PSI 参考概述 项目04/04/2023 本文内容 Project Server 接口 (PSI) 是用于开发与 Project Server 2013 本地集成的应用程序的 API。 本文概述了 PSI 中编档的程序集、命名空间和服务。 SDK 中的 Project Server 2013 类库和 Web 服务引用包含 PSI 的所有托管代码文档以及 Project Server 2013中的 Microsoft.ProjectServer.Client 命名空间。 若要为 Project Online 开发应用程序,必须使用 Microsoft.ProjectServer.Client 命名空间而不是 PSI。 Project Server 2013 中的 PSI 具有双重接口。 Web 服务的 ASMX 接口由 虚拟目录(例如,Projectdisco.aspx 和 Projectwsdl.aspx)中的发现和 Web 服务描述语言(disco 和 WSDL)文件定义。 你只能通过本地安装的 Project Web App 的 URL(例如,)访问 ASMX 接口。 若要在浏览器中显示 Web 服务,必须包含 URL 选项。 由于 ASMX 接口是使用 Windows Communication Foundation (WCF) 基础结构构建的,因此 Project Server Web 服务的 .asmx 文件实际上并不存在于虚拟 PSI 目录中。 WCF 服务接口由 SharePoint Web 服务应用程序的后端 虚拟目录中的 .svc 文件定义。 Project Service 应用程序虚拟目录中的 PSI 服务的 URL(例如,)包含 .svc 文件。 但是,你无法直接使用后端 URL 来设置 WCF 服务引用。 若要开发使用 PSI 的 WCF 服务的应用程序或组件,你可以使用代理程序集或代理文件。 Project 2013 SDK 下载包含 Project Server 2013 中的 WCF 服务的代理文件和脚本,它们用于更新的 WCF 代理文件并将文件编译为代理程序集,以便最新的 Project Server 内部版本。 Project Service 应用程序目录名称是 GUID 值,它与本地 Project Web App 实例的 GUID 相同。 在“Internet 信息服务(IIS)管理器”窗口中,展开“SharePoint Web 服务”节点,选择 GUID 目录名称,然后选择“高级设置”以复制“虚拟路径”值。 重要 在 Project Server 2013 中,已弃用 PSI 的 ASMX Web 服务接口,但它仍受支持。 新应用程序应使用 PSI 的 WCF 接口或 CSOM。 有关已弃用功能的详细信息,请参阅 Project 2013 中面向开发人员的更新。 仅在本地安装的 Project Server 上运行的新应用程序和中间件组件应使用 WCF 接口,这是我们建议用于网络通信的技术。 使用 ASMX 接口的旧版应用程序必须使用 Project Web App 中的 URL,它会检查 Project Server 权限。 有关 ASMX 接口以及如何使用 WCF 接口的详细信息,请参阅 Project 中基于 ASMX 的代码示例的先决条件和 Project 中基于 WCF 的代码示例的先决条件。 若要开发使用 WCF 接口的应用程序,你可以使用 Visual Studio 2010 或 Visual Studio 2012。 若要创建声明性 Project Server 工作流,你可以使用 SharePoint Designer 2013。 可以使用 Visual Studio 2012 开发需要访问 PSI 或 CSOM 的 Project Server 工作流。 使用 PSI 引用 PSI 对象模型很大,许多类和成员均仅供内部使用。 因此,在 Project Server 2013 类库和 Web 服务引用中查找所需的主题可能会令人产生混淆。 你将用于开发的大部分参考主题都位于以下组中: 主类方法:PSI 中的每个服务都包含一个以服务名称命名的主类。 例如,资源服务包含资源类,该类位于 WebSvcResource 命名空间中。 若要查看资源类中可用的方法列表,请在内容窗格中展开类节点,然后选择“资源方法”主题。 DataRow 属性:许多主类方法都使用或返回 DataSet。 DataSet 中的每个 DataTable 对象都包含一个或多个 DataRow 对象中的数据。 在大多数情况下,你只需查看行属性,而不是 DataSet、DataTable 或 DataRow 类的所有其他成员。 例如,ResourceAssignmentDataSet 类包含 ResourceAssignmentDataTable 和 ResourceAssignmentDataSet.ResourceAssignmentRow 类的子类。 若要查看 ResourceAssignmentRow 类中的属性列表,请在内容窗格中展开类节点,然后选择“ResourceAssignmentDataSet.ResourceAssignmentRow 属性”主题。 除了服务命名空间之外,Project Server 2013 类库和 Web 服务引用主题还链接到 3 个 Project Server 程序集,它们用于开发本地安装的第三方解决方案。 我们仅提供这些程序集的最少量文档。 PSI 引用编档了 23 个公共服务中的主要类和成员。 6 个 PSI 服务供内部使用,并且未进行编档。 注意 客户端对象模型 (CSOM) 中的类可以独立于其他 Project Server 程序集和服务使用。 你可以在 Project Server 计算机的远程开发环境中使用 Microsoft.ProjectServer.Client 命名空间,并开发与 Project Online 或本地安装的 Project Server 相集成的应用程序。 但是,CSOM 包含完整 PSI 功能的子集。 CSOM 支持为 Project Server 集成开发最常见的方案。 有关详细信息,请参阅 CSOM 执行和不执行的操作和 Microsoft.ProjectServer.Client。 对于大多数使用 PSI 进行的开发,你不必在 Project Server 计算机上进行开发,也不必在全局程序集缓存中设置对 Project Server 程序集的引用。 你可以将必要的 Project Server 程序集复制到开发计算机。 Project Server 2013 在 [Program Files]中安装以下程序集: Microsoft.Office.Project.Server.Events.Receivers.dll Microsoft.Office.Project.Server.Library.dll Microsoft.Office.Project.Server.Workflow.dll PSI 服务的命名空间具有为 PSI 代理程序集 ProjectServerServices.dll 创建的任意名称,它是为编档目的生成的。 在 PSI 引用中,每个服务命名空间都有一个占位符名称(如 [Project Web service])和一个 Web 引用(如 )。 Project Server 程序集和命名空间 许多程序集都是随 Project Server 一起安装的;仅编档了 4 个 Project Server 程序集。 第三方开发人员通常只在这些程序集中使用几个类和成员。 未编档的 Project Server 程序集包含 Project Server 在内部使用的命名空间和类,如 Project Web App、业务实体和数据访问层 (DAL) 的类。 如果已在 Visual Studio 中设置对已编档的 Project Server 程序集的引用,则可以在 Visual Studio 对象浏览器中查看所有命名空间、类和成员。 注意 已编档的 Project Server 命名空间的许多成员均仅在内部使用,并且具有最少量的文档。 在为 Project Online 开发应用程序时,你只能使用 CSOM 来访问 Project Server 功能。 你无权访问 PSI 服务或其他 Project Server 程序集。 PSI 的 Project Server 2013 类库和 Web 服务引用包括以下程序集中的命名空间: Microsoft.Office.Project.Server.Library.dll 该程序集包含一个编档的命名空间和三个未编档的命名空间,如下所示: Microsoft.Office.Project.Server.Library 命名空间包括多个枚举以及经常用于 Project Server 的本地应用程序的类域和属性。 例如,开发人员通常使用枚举(如 CustomField.Type)以及 PSClientError、PSErrorInfo 和 Filter 类。 Microsoft.Office.Project.Server.Library 命名空间还包含以下 7 个属性类,其中包括 3,200 多个子类: AssignmentProperties CalendarProperties ConstraintProperties LookupTableProperties ProjectProperties ResourceProperties TaskProperties 这些属性类供内部使用,并且未进行编档。 属性类用于 Project Professional 2013 和 Project Server 之间的序列化。 在使用 Visual Studio 中的 Microsoft.Office.Project.Server.Library 命名空间时,对象浏览器会显示所有属性类,从而导致难以找到有助于进行第三方开发的类。 由于第三方开发人员无需使用属性类,因此,SDK 不会对属性类进行编档。 Microsoft.Office.Project.Server.DataServices 该命名空间的类和成员由 Project Online 中的 OData 服务在内部使用,用于访问 Project 数据库中的报告表。 DataServices 类未进行编档。 Microsoft.Office.Project.Server.Administration 该命名空间的类和成员在内部用于诊断日志记录,且未进行编档。 Microsoft.Office.Project.Server.Base 该命名空间的类和成员在内部用作基类,且未进行编档。 Microsoft.Office.Project.Server.Library.FilterSchema 该命名空间在内部用于生成筛选器架构,且未进行编档。 Microsoft.Office.Project.Server.Workflow.dll 该程序集用于仍可在 Project Server 2013 中运行的旧版 Project Server 2010 工作流。 若要创建新工作流,你应该使用 SharePoint Designer 2013,也可以将 Visual Studio 2012 与 Microsoft.ProjectServer.Client.WorkflowActivities 类一起使用。 Microsoft.Office.Project.Server.Workflow.dll 程序集包括以下三个名称空间: Microsoft.Office.Project.Server.Workflow 该命名空间包括用于 Project Server 工作流活动的类。 这些活动包括读取、比较和更新项目属性。 其他类用于管理工作流,并且在项目发生更改时包括工作流回调。 Microsoft.Office.Project.PWA 该命名空间包括 PSI 的内部代理,以便与 Project Web App 和自定义工作流活动一起使用;它未进行编档。 自定义工作流活动需要引用 Microsoft.Office.Project.PWA 来访问 PSI 服务中的所有类。 例如,Microsoft.Office.Project.PWA.PSI 类包括 ProjectWebService 属性,用于 WebSvcProject 命名空间的代理。 Microsoft.Office.Project.Server.WebServiceProxy 该命名空间包括每个 PSI 服务中的主类的内部代理类。 通过使用工作流用户的提升权限,工作流可以通过代理类调用 PSI 方法。 代理类未进行编档。 Microsoft.Office.Project.Server.Events.Receivers.dllMicrosoft.Office.Project.Server.Events 是此程序集中的唯一命名空间。 它包括 PSI 服务和其他内部类的事件接收器和事件自变量类。 开发人员编写从事件接收器类派生的事件处理程序。 PSI 服务中的大多数主类都具有一个对应的事件接收器类。 例如,ProjectEventReceiver 类包含对应于 PSI 中的 Project 类中的方法的前期事件和后期事件接收器方法。 OnCreating 方法和 OnCreated 方法分别是 QueueCreateProject 方法的前期事件接收器方法和后期事件接收器方法。 开发人员通常使用以下事件接收器类: AdminEventReceiver CalendarEventReceiver CubeAdminEventReceiver CustomFieldsEventReceiver LookupTableEventReceiver ProjectEventReceiver OptimizerEventReceiver ReportingEventReceiver ResourceEventReceiver SecurityEventReceiver StatusingEventReceiver TimesheetEventReceiver UserDelegationEventReceiver WorkflowEventReceiver WssInteropEventReceiver RulesEventReceiver 类和 StatusReportsEventReceiver 类在 Project Web App 内部使用。 Microsoft.ProjectServer.Client.dll 该程序集包含用于使用 .NET Framework 4 进行开发的 CSOM。 该程序集位于 中。 使用 Microsoft.ProjectServer.Client 命名空间开发应用程序将独立于本地 Project Server API 和服务,尽管这些应用程序可以与本地或在线安装的 Project Server 一起使用。 有关可用于 Web 应用的 Windows Phone 8、Microsoft Silverlight 或 JavaScript 的相关 CSOM 程序集,请参阅 Microsoft.ProjectServer.Client。 Microsoft.Office.Project.Server.Schema.dll Project 2013 SDK 未编档 Microsoft.Office.Project.Server.Schema 命名空间,它位于 程序集中。 该命名空间包含在 PSI 中使用的所有 DataSet、DataTable 和 DataRow 类以及在 Project Server 内部使用的许多其他类似类的定义。 每个 PSI 服务中的公共类都编档在特定的服务引用中。 例如,DriverDataSet.DriverRow 类编档在 WebSvcDriver 命名空间中。 注意 使用 CSOM、使用远程事件处理程序或访问 Project Online 的应用程序不使用 Microsoft.Office.Project.Server.Schema 命名空间。 在使用完全信任事件处理程序的某些应用程序中(将事件处理程序安装到 Project Server 计算机上),必须设置对 Microsoft.Office.Project.Schema.dll 程序集的引用。 下面是两个示例: 在自定义域的完全信任 OnCreated 前期事件处理程序中,可以将 e.CustomFieldInformation 事件参数与对 CustomFieldDataSet 和 CustomFieldsRow 定义的 Microsoft.Office.Project.Server.Schema 命名空间的引用一起使用。 自定义工作流活动可能需要引用 DataSet 定义的 Microsoft.Office.Project.Server.Schema。 PSI 服务 PSI 是 Project Server 2013 中的一组 WCF 服务和相同的 ASMX Web 服务。 若要在 Visual Studio 项目中使用服务,请使用名称服务的任意名称设置对 文件或 服务的 URL 的引用。 wsdl.exe 实用工具或 svcutil.exe 实用工具随后会为该命名空间生成代理源代码,并且编译器会创建要包含在应用程序中的代理服务程序集。 注意 PSI 引用包括 PSI 服务的占位符名称服务名称,如 [Admin Web service]、[Driver Web service] 和 [Project Web service]。 每个 PSI 名称服务都包含一个主类,其中包含该服务的 Web 方法。 例如,如果设置对 Admin 服务的引用并将其命名为 WebSvcAdmin,则在你的应用程序中,WebSvcAdmin 名称服务将包括主 Admin 类,它采用 Web 方法 GetServerCurrency、ListInstalledLanguages、ReadServerVersion 等等。 有关已弃用的 PSI 服务列表,请参阅 Project 2013 中面向开发人员的更新。 在总共 30 个 PSI 服务中,authentication、ExchangeSync、OData、P12Upgrade,、psiserviceapp、PWA、View 和 WinProj 在 Project Web App 和 Project Professional 内部使用,并且未进行编档。 虽然你可以创建包括 PSI 内部服务的代理文件或代理程序集,但内部服务不适合由第三方使用;PSI 引用未编档这些服务。 下图显示了 Internet Information Services 管理器中的后端 PSI 服务的位置。 在 IIS 中查找 PSI 服务 
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/86896.html