在Project Web Access中的项目中心,每个项目对应一个项目工作区,即SPWeb。项目网站内提供了项目工作环境中所需的列表,以便与 Microsoft Office Project Server 2007 集成,其中包括项目文档、项目问题、项目风险和项目可交付结果。项目中的任务可以设置链接这些列表中的文档或者条目。如果关联了某一个文档,项目和任务都会有图标标识有链接文档。
从sdk中查到它提供了[ObjectLinkProvider Web service]命名空间,可以再进一步看到所有这些链接都是用继承自System.Data.DataSet的ObjectLinkProviderDataSet存储的项目以及任务、文档库、文档的ID实现的。并且提供了多种获取objectLinkProviderDataSet的方法。
- string psiBaseUrl = "网站路径+/_vti_bin/psi/";
- SvcObjectLinkProvider.ObjectLinkProvider objectLinkProvider = new ObjectLinkProvider();
- objectLinkProvider.Url = psiBaseUrl + "objectlinkprovider.asmx";
- objectLinkProvider.Credentials = CredentialCache.DefaultCredentials;
- ObjectLinkProviderDataSet readdsLinkedObjects = objectLinkProvider.ReadTaskLinkedWebObjects(taskUid,
- (int)WebObjectType.Document);
- foreach (ObjectLinkProviderDataSet.WebObjectsRow objRow in readdsLinkedObjects.WebObjects)
- {
- if (objRow.WOBJ_TASK_UID != taskUid && objRow.WOBJ_LIST_NAME == listUid)
- {
- Response.Write(objRow.WOBJ_TP_ID.ToString());
- }
- }