Project 2013 的客户端对象模型 (CSOM)
Project Server 2013 客户端对象模型 (CSOM) 实施常见服务器功能。 Project Server CSOM 包括 Microsoft .NET CSOM、Microsoft Silverlight CSOM、Windows Phone 8 CSOM 和 JavaScript 对象模型 (JSOM)。 此外,CSOM 还包括支持 REST 接口的 OData 服务。 REST 接口主要用于在非 Windows 平台(如 iOS 和 Android)上开发应用。
注意
Project Online 解决方案必须使用 CSOM。 但是,本地应用可以使用 CSOM 或 Project Server Interface (PSI)。 如果 CSOM 中包括你计划使用的功能,那么我们建议你使用 CSOM 来开发新应用。
在 CSOM 扩展中,ProjectContext 对象提供服务器内容和功能的入口点。 .NET CSOM、Silverlight CSOM 和 Windows Phone CSOM 使用 Microsoft.ProjectServer.Client.ProjectContext 对象,而 JSOM 使用 PS.ProjectContext 对象。 通过 ProjectContext 属性可直接访问当前 Project Web App 网站集中的核心 Project Server 对象。 有关 CSOM 程序集和 JavaScript 文件的信息,请参阅 Microsoft.ProjectServer.Client。
应用和安全模型在 Project Server 2013 和 Project Online 中,应用必须使用 CSOM 进行 CRUD(创建、读取、更新和删除)操作。 在 SharePoint 2013 中,Project 应用不能使用仅应用身份验证。 Project Server 应用需要特定的权限请求范围,该范围指定是代表谁运行命令。
REST 查询无需使用元数据即可创建 CSOM OData 服务的 REST 查询。 一些第三方工具启用使用 CSOM 的 .NET 程序集来开发适用于其他设备的应用。 例如,搜索 Internet 上的“适用于 iOS 或 Android 的跨平台 .NET 开发工具”。
注意
尽管 ProjectData 报告服务的 $metadata
选项有效 (https://ServerName/pwaName/_api/ProjectData/$metadata
),但 CSOM 的 ProjectServer 服务的 $metadata
选项会在 Project Server 2013 的发行版中删除。 若要查找可用作 REST 终结点的 CSOM 对象和成员,请参阅适用于 Project Server 2013 的 JavaScript 库和 REST 引用。
若要通过 REST 接口查看 CSOM 中可用的实体,可以使用 https://ServerName/pwaName/_api/ProjectServer
查询。 对于 REST 查询,ProjectServer 实体将密切镜像 Microsoft.ProjectServer.Client.dll 托管程序集中的 ProjectContext 对象的属性以及 JSOM 中的 PS.ProjectContext 对象。 例如,可以使用浏览器从 CSOM 获取有关Project Web App中的项目、指定项目中的工作分配以及指定资源指定分配的任务名称的信息,方法是使用以下查询 (每个查询使用相同的 https://ServerName/pwaName/_api
URL 前缀) 。 GUID 是 Project.Id、EnterpriseResource.Id 和 Assignment.Id 的示例值。
/ProjectServer/Projects
/ProjectServer/Projects('263fc8d7-427c-e111-92fc-00155d3ba208')/Assignments
/ProjectServer/EnterpriseResources('28eeb2b5-fe74-4efc-aa35-6a64514d1526')/Assignments('a2eafeb5-437c-e111-92fc-00155d3ba208')/Task?$select=Name
与 ProjectData 服务的 OData 接口不同(此接口对于报告是只读的),可以结合使用 REST 查询和 ProjectServer 服务来执行 CRUD 操作。 Project Server CSOM 的 REST 查询主要是为 Windows 桌面以外的其他平台(如 Windows RT、iOS 和 Android)设计的。 对于 Windows 桌面和服务器平台(如 Windows 7、Windows 8 和 Windows Server 2008 R2),可以使用 CSOM 托管程序集。 对于 Web 应用,可以使用 JavaScript 的 PS.js。 有关使用 REST 查询执行 CRUD 操作的信息,请参阅 SharePoint 2013 SDK 中的在 SharePoint REST 请求中使用 OData 查询操作主题。 有关使用 ProjectData 服务的信息,请参阅查询 Project 报告数据的 OData 数据源。
表 1 列出了代表 Project Server 对象的 ProjectContext 属性。 可以使用这些对象检索其他 Project Server 2013 实体,例如工作分配和任务。
表 1. 提供对 CSOM 和 JSOM 中的 Project Server 对象的访问权的 ProjectContext 属性
CSOM(.NET、Silverlight 和 Windows Phone) | JSOM |
---|---|
CustomFields |
customFields |
EnterpriseProjectTypes |
enterpriseProjectTypes |
EnterpriseResources |
enterpriseResources |
EntityTypes |
entityTypes |
EventHandlers |
eventHandlers |
Events |
events |
LookupTables |
lookupTables |
Phases |
phases |
Projects |
projects |
Stages |
stages |
WorkflowActivities |
workflowActivities |
WorkflowDesigner |
workflowDesigner |
本节内容
Project Server CSOM 和 .NET 入门提供了有关 Project Server CSOM 和 .NET 的概述信息、有关如何在 Visual Studio 2012 中创建简单 .NET CSOM 扩展的说明以及支持的代码示例。
Project Server 2013 JavaScript 对象模型入门提供了有关 Project Server JSOM 的概述信息、有关如何在 Visual Studio 2012 中创建简单 JSOM 扩展的说明以及支持的代码示例。
此外,查看这些介绍如何使用 CSOM 的文章:
注意
此外,还可以使用 Visual Studio 2010 通过 CSOM 进行 .NET Framework 4 开发。
引用
Microsoft.ProjectServer.Client
另请参阅
Project Server 2013 体系结构在 SharePoint 2013中选择正确的 API 集