TaxonomySession-Klasse

Schließt alle zugeordneten TermStore -Objekte für ein SPSite -Objekt.

Vererbungshierarchie

System.Object
  Microsoft.SharePoint.Taxonomy.TaxonomySession

Namespace:  Microsoft.SharePoint.Taxonomy
Assembly:  Microsoft.SharePoint.Taxonomy (in Microsoft.SharePoint.Taxonomy.dll)

Syntax

'Declaration
<SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel := True)> _
Public NotInheritable Class TaxonomySession
'Usage
Dim instance As TaxonomySession
[SharePointPermissionAttribute(SecurityAction.LinkDemand, ObjectModel = true)]
public sealed class TaxonomySession

Hinweise

Das TaxonomySession-Objekt ist der Ausgangspunkt für alle Operationen mit Objekten aus der Taxonomie. Es ermöglicht den Zugriff auf eine oder mehrere TermStore Objekte (z. B. verwaltete metadatenverbindungen), in denen die Objekte gruppieren, TermSet und Begriff befinden.

Beispiele

using System;
using System.IO;
using System.Globalization;
using System.Collections.Specialized;
using Microsoft.SharePoint;
using Microsoft.SharePoint.Taxonomy;

namespace Microsoft.SDK.SharePointServer.Samples
{
    public static class TaxonomySamples
    {
        public static void UseSession(SPSite site)
        {
            TaxonomySession session = new TaxonomySession(site);

            // Get the default keyword TermStore for the provided site
            TermStore defaultKeywordStore = session.DefaultKeywordsTermStore;
            if (defaultKeywordStore != null)
            {
                Console.WriteLine(defaultKeywordStore.Name);
            }
            else
            {
                Console.WriteLine("Default keyword store is not configured or not configured properly");
            }

            // Get the default site collection TermStore associated with the provide site.
            TermStore defaultSiteCollectionStore = session.DefaultSiteCollectionTermStore;
            if (defaultSiteCollectionStore != null)
            {
                Console.WriteLine(defaultSiteCollectionStore.Name);
            }
            else
            {
                Console.WriteLine("Default site collection TermStore is not configured or not configured properly");
            }

            // Get all the TermStores associated with the provided site.
            TermStoreCollection termStores = session.TermStores;
            Console.WriteLine(termStores.Count);

            // Get all the offline TermStore names
            StringCollection names = session.OfflineTermStoreNames;
            Console.WriteLine(names.Count);

            // Resync the taxonomy hidden list to make sure it is update-to-date
            TaxonomySession.SyncHiddenList(site);
        }

        public static void RetrieveTerm(SPSite site, Guid termId)
        {
            TaxonomySession session = new TaxonomySession(site);

            // Retrieves a Term with the provided Id
            Term term = session.GetTerm(termId);
            Console.WriteLine("Got Term " + term.Name);
        }

        public static void SearchTermsByLabel(SPSite site, string prefix)
        {
            TaxonomySession session = new TaxonomySession(site);

            // Search all Terms that start with the provide prefix from
            // all TermStores associated with the provided site.
            TermCollection terms = session.GetTerms(prefix,
                true, // Only search in default labels
                StringMatchOption.StartsWith,
                5,  // The maximum number of terms returned from each TermStore
                true); // The results should not contain unavailable terms

            Console.WriteLine("The number of matching Terms is " + terms.Count);
        }


        public static void SearchTermsByCustomProperty(SPSite site, 
            string customPropertyName)
        {
            TaxonomySession session = new TaxonomySession(site);

            // Search all Terms that contain a custom property with the provided name
            // from all TermStores associated with the provided site.
            TermCollection terms = session.GetTermsWithCustomProperty(
                customPropertyName,
                true); // The results should not contain unavailable Terms

            Console.WriteLine("The number of matching Terms is " + terms.Count);
        }

        public static void SearchTermSetsByName(SPSite site,
            string termSetName)
        {
            TaxonomySession session = new TaxonomySession(site);

            // Search all TermSets that are using the provided name in current
            // UI LCID from all TermStores associated with the provided site.
            TermSetCollection termSets = session.GetTermSets(termSetName,
                CultureInfo.CurrentUICulture.LCID);

            Console.WriteLine("The number of matching Term Sets is " + termSets.Count);
        }

        public static void SearchTermSetsByTermLabels(SPSite site,
            string[] termLabels)
        {
            TaxonomySession session = new TaxonomySession(site);

            // Returns all TermSet instances from all TermStores that contain terms 
            // with matching labels for all specified strings.
            TermSetCollection termSets = session.GetTermSets(termLabels);
            Console.WriteLine("The number of matching Term Sets is " + termSets.Count);
        }

    }
}

Threadsicherheit

Alle öffentlichen static (Shared in Visual Basic) Member dieses Typs sind threadsicher. Die Threadsicherheit von Instanzmembern ist nicht gewährleistet.

Siehe auch

Referenz

TaxonomySession-Member

Microsoft.SharePoint.Taxonomy-Namespace