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

C# Azure DevOps VssConnection-如何判断服务器是托管的还是本地的?,c#,azure-devops-rest-api,azure-devops-extensions,azure-devops-server,C#,Azure Devops Rest Api,Azure Devops Extensions,Azure Devops Server,使用VssConnection(或其他方式)是否有办法判断所连接的服务器是本地服务器还是由Microsoft托管(即Azure DevOps服务)?到目前为止,我的研究表明,如果ServerTypeGUID是{87966eaa-cb2a-443f-be3c-47bd3b5bf3cb},那么它是一个内部部署实例,但我在任何地方都找不到这个文档 在以前版本的API(基于SOAP的API)中,TfsTeamProjectCollection实例返回的ServerCapabilitiesenum用于执行

使用
VssConnection
(或其他方式)是否有办法判断所连接的服务器是本地服务器还是由Microsoft托管(即Azure DevOps服务)?到目前为止,我的研究表明,如果
ServerType
GUID是
{87966eaa-cb2a-443f-be3c-47bd3b5bf3cb}
,那么它是一个内部部署实例,但我在任何地方都找不到这个文档

在以前版本的API(基于SOAP的API)中,
TfsTeamProjectCollection
实例返回的
ServerCapabilities
enum用于执行此操作。
tfstreamprojectcollection
上的属性“IsHostedServer”包含此信息,该信息实际上是从服务器本身返回的


有什么方法可以明确地告诉你吗?

更新:

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


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

VssConnection connection = new VssConnection(new Uri(c_collectionUri), creds);
如果您连接到Azure DevOps服务,您将定义
c_collectionUri
,如下所示:

String c_collectionUri = "https://dev.azure.com/org";
String c_collectionUri = "http://TFS:8080/tfs/defaultcollection";
如果您连接到Azure DevOps服务器,您将定义
c_collectionUri
,如下所示:

String c_collectionUri = "https://dev.azure.com/org";
String c_collectionUri = "http://TFS:8080/tfs/defaultcollection";

检查URL有什么问题?(如果它包含“dev.azure.com”,则为azure DevOps服务)不可扩展。如果Azure DevOps允许组织自定义URL,则此方法将失败。此外,URL可以有不同的格式,即,您也可以使用org.visualstudio.com来代替dev.azure.com/org。谢谢,但这很容易出错,而且不可扩展。如果Azure DevOps允许组织自定义URL,则此方法将失败。此外,URL可以有不同的格式,即,您也可以使用org.visualstudio.com而不是dev.azure.com/org。最后,托管服务器上不强制使用端口8080。对于Azure DevOps服务,您将只有两种URL格式:。对于Azure DevOps服务器,必须指定团队项目集合。它应该可以很容易地区分服务和服务器。我已经添加了更多关于如何在Microsoft.TeamFoundation.Client软件包的v15.0之前提供的基于SOAP的API中确定这些信息的详细信息。我正在寻找一个比依赖URL结构更具体、更长期的选择。谢谢你的解释。我现在更明白你的问题了。我已经在我这边进行了测试,您可以使用
VssConnection
中的
ServerType
属性来判断服务器是托管的还是本地的,这是正确的<代码>87966eaa-cb2a-443f-be3c-47bd3b5bf3cb是服务器,而
00025394-6065-48ca-87d9-7f5672854ef7是服务。谢谢Cece。您可能知道的任何地方都有记录吗?