1

プロジェクト API を使用すると、次を使用してプロジェクトを一覧表示できます。

ProjectDataSet data = client.ReadProjectList();
foreach (ProjectDataSet.ProjectRow projectRow in data.Project){...}

この API 呼び出しは、公開されたストアではなく作業ストアからすべてのプロジェクトを返すため、不十分です。公開されたストアに対してすべてのプロジェクト GUID をチェックすることが期待されているようですが、これは信じられないほど遅いです。

int i = projectRow.PROJ_TYPE;
if (i == 0){
    ProjectDataSet publishedProjectDataSet = client.ReadProject(projectRow.PROJ_UID, DataStoreEnum.PublishedStore);
    if (publishedProjectDataSet == null) { continue; }
}

とにかく、公開されたプロジェクトのみをすばやくリストする方法を知っている人はいますか?

4

1 に答える 1

2

projectClient.ReadProjectStatus動作するはずです。例えば

 // Get list of all projects.
 SvcProject.ProjectDataSet projectDs = projectClient.ReadProjectStatus(
 Guid.Empty, SvcProject.DataStoreEnum.PublishedStore,
 string.Empty, (int)PSLibrary.Project.ProjectType.Project);

ドキュメントはこちらにあります

于 2014-03-27T00:59:37.423 に答える