Azure DevOps VssConnection-如何判断服务器是托管服务器还是本地服务器?

时间:2020-05-17 21:21:25

标签: c# azure-devops-rest-api azure-devops-extensions azure-devops-server

使用VssConnection(或其他方式)是否可以确定所连接的服务器是在本地还是由Microsoft托管(即Azure DevOps服务)?到目前为止,我的研究表明,如果ServerType GUID为{87966eaa-cb2a-443f-be3c-47bd3b5bf3cb},则它是本地实例,但我在任何地方都找不到此文档。

在先前版本的API(基于SOAP的API)中,ServerCapabilities的枚举由TfsTeamProjectCollection的实例返回来完成。 TfsTeamProjectCollection的属性“ IsHostedServer”具有此信息,该信息实际上是从服务器本身返回的。

有什么办法可以肯定地说出来吗?

1 个答案:

答案 0 :(得分:1)

更新

经过我的测试,很正确,您可以使用VssConnection的ServerType属性来判断服务器是托管服务器还是本地服务器。 87966eaa-cb2a-443f-be3c-47bd3b5bf3cb是服务器,而00025394-6065-48ca-87d9-7f5672854ef7是服务。不幸的是,我找不到任何文档说明此信息。但是从测试来看,ServerType确实提供了服务器信息。


通常,我们使用以下代码连接到Azure DevOps服务/服务器:

VssConnection connection = new VssConnection(new Uri(c_collectionUri), creds);

如果连接到Azure DevOps服务,则应按以下方式定义c_collectionUri

String c_collectionUri = "https://dev.azure.com/org";

如果连接到Azure DevOps Server,则应按以下方式定义c_collectionUri

String c_collectionUri = "http://TFS:8080/tfs/defaultcollection";