Stellt den schreibgeschützten Zugriff auf Eigenschaften und Methoden eines Verzeichnisdienstes bereit.

Namensraum: IFS.Taurus.DirectoryService.Interface
Assembly: IFS.Taurus.DirectoryService.Interface (in IFS.Taurus.DirectoryService.Interface.dll) Version: 1.2.0.1 (1.2.0.1)

Syntax

C#
public interface IDirectoryService

Beispiele

Im folgenden Quelltextbeispiel wird die Verwendung von Methoden der IDirectoryService-Schnittstelle zum Zugriff auf Methoden des Taurus® Verzeichnisdienstes durch den PythiaProvider veranschaulicht.
C# Copy imageKopieren
class Sample
{
    static void Main(string[] args)
    {
        // Datenanbieter für Taurus® Verzeichnisdienst ermitteln (PythiaProvider)
        string name = "TaurusDirectoryService";
        IDirectoryService tds = GetDirectoryService(name);
        if (tds == null)
        {
            // Fehlerbehandlung
            return;
        }

        // Beschreibung eines Beispielprogramms erstellen
        string sampleServiceName = "SampleService";
        IDirectoryServiceInformation dsi = CreateSampleServiceDescriptor(sampleServiceName);

        // Programm registrieren
        if (tds.Register(dsi) != ErrorCode.OK)
        {
            // Fehlerbehandlung
            return;
        }

        // Programm suchen
        IList<IDirectoryServiceInformation> resultServiceList;
        if (tds.Find(sampleServiceName, out resultServiceList) != ErrorCode.OK)
        {
            // Fehlerbehandlung
            return;
        }

        // Prgramm deregistrieren
        if(tds.Deregister(dsi) != ErrorCode.OK)
        {
            // Fehlerbehandlung
            return;
        }
    }

    private static IDirectoryService GetDirectoryService(string name)
    {
        IDirectoryService resultService = null;

        // Objekt für den Zugriff auf das Taurus® DataProcurement erzeugen
        ITaurusPlatform tp = null;
        TaurusPlatformFactory.Create(out tp);
        if (tp == null)
        {
            // Fehlerbehandlung
            return null;
        }

        // Liste mit Datenanbieter für Verzeichnisdienste ermitteln
        IList<IDirectoryService> dsList;
        ErrorCode err = tp.GetDirectoryServiceList(out dsList);
        if ((err != ErrorCode.OK) || (dsList == null))
        {
            // Fehlerbehandlung
            return null;
        }

        // Datenanbieter anhand des Namens bestimmen
        foreach (IDirectoryService ds in dsList)
        {
            if (ds.Name == name)
            {
                resultService = ds;
                break;
            }
        }

        return resultService;
    }

    private static IDirectoryServiceInformation CreateSampleServiceDescriptor(string sampleServiceName)
    {
        DirectoryServiceInformationDO dsido = new DirectoryServiceInformationDO();
        dsido.ServiceName = sampleServiceName;
        dsido.Protocol = "http";
        dsido.Format = "webservice";
        dsido.Uri = "http://172.16.4.18:5555/SampleService";
        dsido.Location = DirectoryServiceLocation.Remote;
        dsido.Performance = 0;
        dsido.Attributes = new DirectoryServiceAttributesDO();
        dsido.Attributes.Add("Version", "1.1.0.0");
        dsido.Attributes.Add("Host", "ALBION");
        dsido.Attributes.Add("IP", "172.16.4.18");
        dsido.Attributes.Add("PID", "4432");
        return dsido;
    }
}

Siehe auch