Aracılığıyla paylaş


Bir Konsol Uygulamasından Team Foundation Server'a Bağlanma

Programlı olarak çalışan bir sunucusuna bağlanıp Team Foundation ve aşağıdaki örnekte kullanırsanız, bu sunucuda takım projeleri erişin.Örnek değiştirirseniz, hizmetler kullanabilirsiniz, alma ek Team Foundation Hizmetleri bu konuda daha sonra açıklar.Kimliğe bürünme, kullanarak adına diğerleri de çalışabilir , başka bir kullanıcı adına (kimliğe bürünme) gören bu konuda daha sonra açıklar.

Bu konuda

Örnek

Takım projesi koleksiyonları ve aşağıdaki örnekte kullanırsanız, bunların içeren takım projeleri listeleyebilir.

Bu örneği kullanmak için

  1. C# konsol uygulaması oluşturun.

  2. Aşağıdaki derlemelere başvurular ekleyin:

  3. Bu konuda daha sonra görüntülenen kodu ile Program.cs içeriğini değiştirin.

  4. Kodda değiştirmek Server, bağlantı noktası, ve VDir URL sunucunuza başvuruyor böylece TfsConfigurationServer nesne oluşturmak için kullanılan URL.

    İpucuİpucu

    Doğru URL kullandığınızdan emin olmak için Ekip Gezgini sunucunuzdaki bir takım projenizi açın ve sunucu URL özelliklerini doğrulayın.

    Team Foundation Server özellikleri: URL

    using System;
    using System.Collections.ObjectModel;
    using Microsoft.TeamFoundation.Client; 
    using Microsoft.TeamFoundation.Framework.Common;
    using Microsoft.TeamFoundation.Framework.Client;
    
    namespace TfsApplication
    {
        class Program
        {
            static void Main(String[] args)
            {
                // Connect to Team Foundation Server
                //     Server is the name of the server that is running the application tier for Team Foundation.
                //     Port is the port that Team Foundation uses. The default port is 8080.
                //     VDir is the virtual path to the Team Foundation application. The default path is tfs.
                Uri tfsUri = (args.Length < 1) ? 
                    new Uri("http://Server:Port/VDir") : new Uri(args[0]);
    
                TfsConfigurationServer configurationServer =
                    TfsConfigurationServerFactory.GetConfigurationServer(tfsUri);
    
                // Get the catalog of team project collections
                ReadOnlyCollection<CatalogNode> collectionNodes = configurationServer.CatalogNode.QueryChildren(
                    new[] { CatalogResourceTypes.ProjectCollection },
                    false, CatalogQueryOptions.None);
    
                // List the team project collections
                foreach (CatalogNode collectionNode in collectionNodes)
                {
                    // Use the InstanceId property to get the team project collection
                    Guid collectionId = new Guid(collectionNode.Resource.Properties["InstanceId"]);
                    TfsTeamProjectCollection teamProjectCollection = configurationServer.GetTeamProjectCollection(collectionId);
    
                    // Print the name of the team project collection
                    Console.WriteLine("Collection: " + teamProjectCollection.Name);
    
                    // Get a catalog of team projects for the collection
                    ReadOnlyCollection<CatalogNode> projectNodes = collectionNode.QueryChildren(
                        new[] { CatalogResourceTypes.TeamProject },
                        false, CatalogQueryOptions.None);
    
                    // List the team projects in the collection
                    foreach (CatalogNode projectNode in projectNodes)
                    {
                        Console.WriteLine(" Team Project: " + projectNode.Resource.DisplayName);
                    }
                }
            }
        }
    }
    
    Imports System
    Imports System.Collections.ObjectModel
    Imports Microsoft.TeamFoundation.Client
    Imports Microsoft.TeamFoundation.Framework.Common
    Imports Microsoft.TeamFoundation.Framework.Client
    
    Module Module1
    
        Sub Main(ByVal sArgs() As String)
    
            ' Connect to the Team Foundation Server
            ' Server is the name of the server running the application tier for Team Foundation Server
            ' Port is the port that the Team Foundation Server uses. The default port is 8080.
            ' VDir is the virtual path to the Team Foundation application. The default value is tfs.
            Dim tfsUri As Uri
            If sArgs.Length = 0 Then
                tfsUri = New Uri("https://Server:8080/tfs")
            Else
                tfsUri = New Uri(sArgs(1))
            End If
    
            Dim configurationServer As New TfsConfigurationServer(tfsUri)
            configurationServer = TfsConfigurationServerFactory.GetConfigurationServer(tfsUri)
    
            ' Get the catalog of team project collections
            Dim collectionNodes As ReadOnlyCollection(Of CatalogNode)
            Dim gVar As Guid() = New Guid() {CatalogResourceTypes.ProjectCollection}
            collectionNodes = configurationServer.CatalogNode.QueryChildren(gVar, False, CatalogQueryOptions.None)
    
            ' List the team project collections
            For Each collectionNode In collectionNodes
                Dim collectionId As Guid = New Guid(collectionNode.Resource.Properties("InstanceID"))
    
                Dim teamProjectCollection As New TfsTeamProjectCollection(tfsUri)
                teamProjectCollection = configurationServer.GetTeamProjectCollection(collectionId)
                System.Console.WriteLine("Collection:" + teamProjectCollection.Name)
    
                ' Get a catalog of team projects for the collection
                Dim hVar As Guid() = New Guid() {CatalogResourceTypes.TeamProject}
    
                Dim projectNodes As ReadOnlyCollection(Of CatalogNode)
                projectNodes = collectionNode.QueryChildren(hVar, False, CatalogQueryOptions.None)
    
                ' List the team projects in the collection
                For Each projectNode In projectNodes
                    System.Console.WriteLine(" Team Project: " + projectNode.Resource.DisplayName)
                Next
    
            Next
    
    
        End Sub
    
    End Module
    

Ek Team Foundation Hizmetleri alma

Ek hizmet GetService yöntemlerden birini kullanarak erişebilirsiniz, Özet sınıf TfsConnection tanımlar ve TfsConfigurationServer ve TfsTeamProjectCollection uygular.

Kullandığınızda TfsConfigurationServer sınıfı, sunucunun tamamı için hizmetlere erişemez.Kullandığınızda TfsTeamProjectCollection sınıfı, takım projesi koleksiyonu için hizmetlere erişemez.Örneğin, ITeamFoundationRegistry için hizmet TfsConfigurationServer sunucusunun kayıtlı özellikleri sağlar.Öğesinden alınan aynı hizmeti TfsTeamProjectCollection bir takım projesi koleksiyonunun kayıtlı özellikleri sağlar.Bazı hizmetler yalnızca takım projesi koleksiyonları için geçerlidir.

Hizmet

TfsConfigurationServer

(sunucu düzeyi)

TfsTeamProjectCollection

(koleksiyon düzeyi)

ITeamFoundationRegistry

onay işareti

onay işareti

IIdentityManagementService

onay işareti

onay işareti

ITeamFoundationJobService

onay işareti

onay işareti

IPropertyService

onay işareti

onay işareti

IEventService

onay işareti

onay işareti

ISecurityService

onay işareti

onay işareti

ILocationService

onay işareti

onay işareti

TswaClientHyperlinkService

onay işareti

onay işareti

ITeamProjectCollectionService

onay işareti

IAdministrationService

onay işareti

onay işareti

ICatalogService

onay işareti

VersionControlServer

onay işareti

WorkItemStore

onay işareti

IBuildServer

onay işareti

ITestManagementService

onay işareti

ILinking

onay işareti

ICommonStructureService3

onay işareti

IServerStatusService

onay işareti

IProcessTemplates

onay işareti

Çalışan başka bir kullanıcı adına (kimliğe bürünme)

Bağlandığınızda Team Foundation Server, uygulamanızı çalışan farklı bir kimlik adına hareket etmek için kimliğe bürünme destekleyen bir yöntemini kullanabilirsiniz.Gerçekleştirilen tüm işlemler bağlantı Kimliğine bürünülen kimliği adına gerçekleştirdiği temel.Örneğin, uygulamanızın bir kullanıcı kimliği altında çalışır, ancak bir bağlantı oluşturun Team Foundation Server , kullanıcı B. temsil ederKullanıcı bir kaynak kodu bu koşullar altında bir değişiklik işaretlerse, bu kullanıcı değişikliği denetleyen B changeset kaydeder.

Team Foundation kimliğini kullanarak

Kullanabileceğiniz bir IdentityDescriptor nesnesi bağlandığınızda Team Foundation Server almasına kimliği belirtmek için.IdentityDescriptor Kimlikteki belirtir, Team Foundation tanımlar.Bu strateji kullandığınızda, parola belirtmeniz gerekmez.Kimlik doğrulaması olmalıdır olun istekleri başka bir kullanıcı adına olduğu durumlar dışında kimliği doğrulanmış (kullanıcı A) ve Kimliğine bürünülen (kullanıcı B) kimlikleri aynı izin,.

Sunucu düzeyi

Koleksiyon düzeyi

Kimliği doğrulanmış kimlik bilgilerini kullanarak

Kullanabileceğiniz bir ICredentials nesnesi bağlandığınızda Team Foundation Server almasına kimliği belirtmek için.Bu strateji özel izinler gerektirmez, ancak kimliği oluşturmak için parola elde etmek üzere kullanabilmelidir ICredentials nesne.

Ayrıca uygulaması belirtebilirsiniz ICredentialsProvider bağlandığınızda Team Foundation Server için yeni kimlik bilgileri isteklerini işlemek için.Sistem uygulanması çağırır ICredentialsProvider yeni istemek için belirttiğiniz kimlik bilgilerini tarafından belirtilen kimlik bilgilerini ICredentials nesne başarıyla kimlik doğrulaması veya işlemi gerçekleştirmek için yetkili.

Kullanıcı kimlik bilgileri için sormak için kullanabileceğiniz UICredentialsProvider sınıfının, hangi uygular ICredentialsProvider kullanıcıdan yeni kimlik bilgileri için bir oturum açma iletişim kutusu görüntüleyerek.

Sunucu düzeyi

Koleksiyon düzeyi

Teknikler birleşimini kullanarak

Her ikisi de kullanabileceğiniz bir Team Foundation kimlik ve bağlandığınızda doğrulanmış kimlik bilgilerini Team Foundation Server.Örneğin, uygulamanızın kimlik bilgileri altında bir kullanıcı için çalışabilir, ancak kullanıcı B için kimlik bilgilerini kullan ve belirtin bir IdentityDescriptor kullanıcı bağlandığınızda c Team Foundation Server.Bu durumda, bu bağlantıyı kullanarak yapılan istekleri kullanıcı B kimliği doğrulanmış ancak kullanıcı C. adına gerçekleştirilenBu strateji başarılı olması kullanıcı B olmalıdır olun istekleri başka bir kullanıcı adına izin.

Sunucu düzeyi

Koleksiyon düzeyi

Ek Kaynaklar

Takım projesi koleksiyonlarını yönetme

Team Foundation Server'da takım projelerine bağlanma

TfsConnection, TfsConfigurationServer ve TfsTeamProjectCollection sınıfları Tanıtımı Microsoft Web sitesinde

Sürüm denetimi API'ler ile TFS kimliğe bürünme kullanan Microsoft Web sitesinde.