Kommunizieren mit EWS unter Verwendung der verwalteten EWS-API

Informationen dazu, wie Sie die verwaltete EWS-API zur Kommunikation mit EWS in Exchange verwenden.

Hinweis

Die Möglichkeit der Standardauthentifizierung in Exchange Online für EWS, wird ab Oktober 2022 eingestellt. Einstellung der Standardauthentifizierung in Exchange Online. Sie sollten stattdessen die OAuth-Authentifizierung verwenden. Authentifizieren einer EWS-Anwendung mit OAuth

Die ExchangeService-Klasse in der verwalteten EWS-API enthält die Methoden und Eigenschaften, die Sie zum Festlegen der Benutzeranmeldeinformationen, zum Identifizieren des EWS-Endpunkts, zum Senden und Empfangen von SOPA-Nachrichten und zum Konfigurieren der Bindung für die Kommunikation mit EWS verwenden. Bevor Sie die verwaltete EWS-API zum Durchführen von Aufgaben verwenden, müssen Sie eine Instanz der ExchangeService -Klasse verwenden und diese an EWS binden.

Nachdem Sie ein ExchangeService -Objekt mit Benutzeranmeldeinformationen und dem EWS-Endpunkt eingerichtet haben, können alle Postfachobjekte, die auf das ExchangeService -Objekt verweisen, die folgenden Methodentypen für die Kommunikation mit EWS verwenden:

  • ExchangeService-Objektmethoden - Alle Methoden im ExchangeService -Objekt, die nicht vom Basis- Object -Typ geerbt werden, rufen EWS auf.
  • Methoden für Exchange-Postfachelement und Ordnertypen.

Tabelle 1. Postfachelement- und Ordnertypmethoden, die mit EWS kommunizieren

Methode Funktionsweise Aufgerufene Vorgänge
Load
Ruft Eigenschaften für ein Element, eine Anlage oder ein Benutzerkonfigurationsobjekt ab.
GetItem Operation

GetAttachment-Vorgang

GetUserConfiguration-Vorgang
Bind
Füllt ein neues Element auf dem Client mit Informationen von einem vorhandenen Element auf dem Server.
GetItem Operation
Save
Speichert die Kopie des Clientelements auf dem Server.
UpdateItem-Vorgang

UpdateFolder-Vorgang

CreateItem Operation

CreateFolder Operation
Update
Aktualisiert den Server mit Änderungen, die am Client vorgenommen wurden.

Bei Elementen und Ordnern verwendet die Update -Methode UpdateItem Operation und UpdateFolder-Vorgang.
UpdateItem Operation

UpdateFolder-Vorgang
Delete
Löscht ein Element auf dem Server.

Bei Elementen und Ordnern verwendet die Delete -Methode DeleteFolder-Vorgang.
DeleteItem-Operation

DeleteFolder-Vorgang
Copy
Erstellt eine Kopie des Elements oder Ordners auf dem Server.
CopyItem Operation

CopyFolder-Vorgang
Move
Verschiebt Elemente oder Ordner auf den Server.
MoveItem Operation

MoveFolder-Vorgang

So verwenden Sie die verwaltete EWS-API zur Kommunikation mit EWS

  1. Instanziieren Sie die ExchangeService -Klasse.

     ExchangeService service = new ExchangeService();
    

    Hinweis

    [!HINWEIS] Durch Instanziieren von ExchangeService mit einem leeren Konstruktor wird eine Instanz erstellt, die an die letzte bekannte Version von Exchange gebunden ist. Alternativ können Sie auf eine bestimmte Version von Exchange abzielen, indem Sie die Version als Parameter angeben. ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);

  2. Legen Sie die Anmeldeinformationen des Benutzers fest, der Anforderungen an den Exchange-Server sendet. Wenn Sie mithilfe der Anmeldeinformationen des authentifizierten Benutzers eine Verbindung zu EWS von einem Computer herstellen möchten, der bei der Domäne angemeldet ist, legen Sie die UseDefaultCredentials -Eigenschaft im ExchangeService -Objekt auf true fest.

     // Connect by using the default credentials of the authenticated user.
     service.UseDefaultCredentials = true;
    

    Wenn Sie nicht mithilfe der standardmäßigen Benutzeranmeldeinformationen eine Verbindung herstellen möchten, legen Sie die Credentials -Eigenschaft im ExchangeService -Objekt so fest, dass explizit die Anmeldeinformationen eines anderen Benutzers angegeben werden. Wenn Sie Exchange Online oder Exchange Online als Teil von Office 365 verwenden, verwenden Sie die Standardauthentifizierung mit nur einem Benutzernamen und einem Kennwort. Für die NTLM-Authentifizierung ist ein Domänenname erforderlich.

     // Connect by using the credentials of user1 at contoso.com.
     service.Credentials = new WebCredentials("user1@contoso.com", "password");
    

    Sie können auch die Anmeldeinformationen des Benutzers mithilfe des Domänennamens und des Kennworts des Benutzers angeben.

     // Connect by using the credentials of contoso/user1.
     service.Credentials = new WebCredentials("user1", "password", "contoso");
    

    Hinweis

    [!HINWEIS] Wenn die UseDefaultCredentials -Eigenschaft auf true festgelegt ist, wird der Wert der Credentials -Eigenschaft ignoriert.

  3. Legen Sie die URL des EWS-Endpunkts fest. Diese URL sucht die Datei "exchange.asmx" auf dem Clientzugriffsserver.

     // Use Autodiscover to set the URL endpoint.
     service.AutodiscoverUrl("user1@contoso.com");
    

    Hinweis

    Sie können die Url-Eigenschaft des ExchangeService zwar explizit auf einen hartcodierten Wert festlegen, es wird aber empfohlen, dass Sie stattdessen aus den folgenden Gründen den AutoErmittlungsdienst verwenden:

    • Bei der AutoErmittlung wird der beste Endpunkt für einen bestimmten Benutzer ermittelt (der Entpunkt, der dem Postfachserver des Benutzers am nächsten ist).
    • Die EWS-URL ändert sich möglicherweise, wenn neue Clientzugriffsserver bereitgestellt werden. In diesem Szenario bedeutet die Verwendung von AutoErmittlung, dass keine Codeänderungen erforderlich sind.
    • Sie sollten entweder die URL explizit festlegen oder AutodiscoverUrl aufrufen, aber nicht beides.

Siehe auch