Azure DevOps VssConnection - 如何判断服务器是托管的还是本地的?
Azure DevOps VssConnection - How to tell if the server is hosted or on premises?
是否可以使用 VssConnection
(或其他方式)判断所连接的服务器是本地服务器还是由 Microsoft 托管(即 Azure DevOps 服务)?到目前为止,我的研究表明,如果 ServerType
GUID 是 {87966eaa-cb2a-443f-be3c-47bd3b5bf3cb}
那么它就是一个本地实例,但我无法在任何地方找到它的记录。
在以前版本的 API(基于 SOAP 的 API)中,TfsTeamProjectCollection
实例返回的 ServerCapabilities
枚举曾经能够执行此操作。 TfsTeamProjectCollection
上的 属性 'IsHostedServer' 具有实际上从服务器本身返回的此信息。
有没有办法明确地告诉这个?
更新:
我已经在我这边测试过了,你是对的,你可以使用 VssConnection 的 ServerType
属性 来判断服务器是托管的还是本地的。 87966eaa-cb2a-443f-be3c-47bd3b5bf3cb
是服务器,而 00025394-6065-48ca-87d9-7f5672854ef7
是服务。不幸的是,我没有找到任何文档说明此信息。但是从测试来看,ServerType确实给出了服务器信息。
通常,我们使用以下代码连接到Azure DevOps Service/Server:
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";
是否可以使用 VssConnection
(或其他方式)判断所连接的服务器是本地服务器还是由 Microsoft 托管(即 Azure DevOps 服务)?到目前为止,我的研究表明,如果 ServerType
GUID 是 {87966eaa-cb2a-443f-be3c-47bd3b5bf3cb}
那么它就是一个本地实例,但我无法在任何地方找到它的记录。
在以前版本的 API(基于 SOAP 的 API)中,TfsTeamProjectCollection
实例返回的 ServerCapabilities
枚举曾经能够执行此操作。 TfsTeamProjectCollection
上的 属性 'IsHostedServer' 具有实际上从服务器本身返回的此信息。
有没有办法明确地告诉这个?
更新:
我已经在我这边测试过了,你是对的,你可以使用 VssConnection 的 ServerType
属性 来判断服务器是托管的还是本地的。 87966eaa-cb2a-443f-be3c-47bd3b5bf3cb
是服务器,而 00025394-6065-48ca-87d9-7f5672854ef7
是服务。不幸的是,我没有找到任何文档说明此信息。但是从测试来看,ServerType确实给出了服务器信息。
通常,我们使用以下代码连接到Azure DevOps Service/Server:
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";