Verwenden Sie Verbindungszeichenfolgen in XRM-Tools, um eine Verbindung mit Microsoft Dataverse herzustellen.

Mit Dataverse ermöglicht Ihnen XRM-Tooling die Verbindung mit Ihrer Dataverse-Umgebung über Verbindungszeichenfolgen. Dies ähnelt dem Konzept von Verbindungszeichenfolgen, das in SQL Server verwendet wird. Verbindungszeichenfolgen erhalten native Unterstützung in Konfigurationsdateien inklusive der Möglichkeit der Verschlüsselung der Konfigurationsabschnitte für maximale Sicherheit. Dies ermöglicht es Ihnen, Dataverse-Verbindungen zur Bereitstellungszeit zu konfigurieren und nicht hartcodiert in der Anwendung, um eine Verbindung zu Ihrer Dataverse-Umgebung herzustellen.

Erstellen einer Verbindungszeichenfolge

Sie geben diese Verbindungszeichenfolge in der Datei app.config oder web.config für das Projekt an, wie im folgenden Beispiel angezeigt.

<connectionStrings>  
    <add name="MyCDSServer" connectionString="AuthType=OAuth;Username=jsmith@contoso.onmicrosoft.com;Password=passcode;Url=https://contosotest.crm.dynamics.com;AppId=51f81489-12ee-4a9e-aaae-a2591f45987d;RedirectUri=app://58145B91-0C36-4500-8554-080854F2AC97;TokenCacheStorePath=c:\MyTokenCache;LoginPrompt=Auto"/>
</connectionStrings>  

Wichtig

Wenn Sie vertrauliche Informationen zu app.config oder web.config file hinzufügen, z. B. ein Firmenkennwort, müssen Sie sicherstellen, dass geeignete Sicherheitsvorkehrungen zum Schutz dieser Informationen getroffen werden.

Nachdem Sie die Verbindungszeichenfolge erstellt haben, verwenden Sie diese, um ein CrmServiceClient-Objekt zu erstellen.

//Use the connection string named "MyCDSServer"  
//from the configuration file  
CrmServiceClient svc = new CrmServiceClient(ConnectionString);  

Alternativ können Sie auch die ServiceClient-Klasse verwenden.

ServiceClient svc = new ServiceClient(ConnectionString);  

Hinweis

Sie müssen die folgende using-Direktive in Ihrem Code verwenden, um auf den System.Configuration-Namespace verweisen, um auf die Verbindungszeichenfolge in Ihrem Code zuzugreifen: using System.Configuration;

Nachdem Sie ein Service-Client-Objekt erstellt haben, können Sie das Objekt verwenden, um in Dataverse Aktionen für Apps auszuführen. Weitere Informationen: Verwenden von XRM-Tooling zur Ausführung von Aktionen in Dataverse

Parameter für Verbindungszeichenfolgen

Die Verbindungszeichenfolge enthält eine Reihe von Name-Wert-Paaren, getrennt durch Semikolons. Die folgende Tabelle enthält unterstützte Parameter, die in beliebiger Reihenfolge eingegeben werden können.

Parametername Beschreibung des Dataflows
ServiceUri, Service Uri, Url oder Server Gibt die URL zur Dataverse-Umgebung an. Die URL kann das http- oder https-Protokoll verwenden, und der Port ist optional. Standardmäßig wird der Port 80 für das http-Protokoll und 443 für das https-Protokoll verwendet. Die Server-URL ist normalerweise im Format https://<organization-name>.crm.dynamics.com

Der Organisationsname muss angegeben werden.
UserName, User Name, UserId oder User Id Gibt die Benutzerkennung an, die den Anmeldeinformationen zugeordnet ist.
Password Gibt das Kennwort für den Benutzernamen, das den Anmeldeinformationen zugeordnet ist.
HomeRealmUri oder Home Realm Uri Gibt den Startbereichs-URL an.
AuthenticationType oder AuthType Gibt den Authentifizierungstyp an, um eine Verbindung mit der Dataverse-Umgebung herzustellen. Gültige Werte sind: AD, IFD (AD FS-aktiviert), OAuth, Certificate, ClientSecret oder Office365. Zulässige Werte für Dataverse-Umgebungen sind jedoch nur OAuth, Certificate, ClientSecret und Office365.

HINWEIS: Der Office365-Authentifizierungstyp ist veraltet und wir empfehlen die Verwendung von OAuth als bevorzugten Authentifizierungstyp. Weitere Informationen: Was sollte ich tun, um meinen Anwendungscode zu reparieren, falls er betroffen ist?
RequireNewInstance Definiert, ob die vorhandene Verbindung wieder verwendet wird, wenn Sie aufgerufen wird, solange die Verbindung noch aktiv ist. Wenn auf true festgelegt, wird das System gezwungen, eine eindeutige Verbindung herzustellen. Wenn Sie dies auf false festlegen, kann die bestehende Verbindung wiederverwendet werden.
ClientId, AppId oder ApplicationId Gibt die ClientID an, die bei der Registrierung Ihrer Anwendung in Microsoft Entra ID oder Active Directory Federation Services (AD FS) zugewiesen wurde.
ClientSecret oder Secret Erforderlich, wenn der Auth-Typ auf ClientSecret festgelegt ist. Zeichenfolge für geheimen Clientschlüssel für die Authentifizierung.
RedirectUri oder ReplyUrl Gibt die Umleitungs-URI der Anwendung an, die Sie in Microsoft Entra ID oder Active Directory Federation Services (AD FS) registriert haben.

Dieser Parameter gilt nur, wenn OAuth als Authentifizierungstyp angegeben ist.
TokenCacheStorePath Gibt den vollständigen Pfad zum Speicherort an, an dem der Benutzertoken gespeichert werden soll. Der laufende Prozess muss über Zugriff auf den angegebenen Pfad verfügen. Es ist die Prozesszuständigkeit, diesen Pfad festzulegen und zu konfigurieren.

Dieser Parameter gilt nur, wenn OAuth als Authentifizierungstyp angegeben ist.
LoginPrompt Gibt an, ob der Benutzer zur Eingabe der Anmeldeinformationen aufgefordert wird, wenn die Anmeldeinformationen nicht angegeben wurden. Gültige Werte sind:

- Always: Fordert immer den Benutzer auf, Anmeldeinformationen anzugeben.
- Auto: Ermöglicht dem Benutzer, in der Anmeldungssteuerelement-Benutzeroberfläche auszuwählen, ob die Eingabeaufforderung angezeigt wird oder nicht.
- Never: Fordert den Benutzer nicht auf, Anmeldeinformationen anzugeben. Wenn für die Verwendung einer Verbindungsmethode keine Benutzeroberfläche bereitgestellt wird, müssen Sie diesen Wert verwenden.

Dieser Parameter gilt nur, wenn OAuth als Authentifizierungstyp angegeben ist.
StoreName oder CertificateStoreName Definiert den Speichernamen, unter dem das Zertifikat für den Fingerabdruck gefunden wird. Wenn festgelegt, ist der Fingerabdruck erforderlich.
Thumbprint oder CertThumbprint Definiert den Fingerabdruck des Zertifikats, der während einer S2S-Verbindung verwendet wird. Wenn festgelegt, ist die AppID erforderlich und die Benutzer-ID und das Kennwort werden ignoriert.
Integrated Security Gibt an, dass aktuelle Windows-Anmeldeinformationen verwendet werden sollen, um zu versuchen, ein Token für die Instanzen zu erstellen. Ab NuGet-Version Microsoft.CrmSdk.XrmTooling.CoreAssembly Version 9.1.0.21

Hinweis

Wenn der AuthType\AuthenticationType OAuth verwendet wird
Für Entwicklungs- und Erstausführungszwecke haben wir die folgenden AppId oder das ClientId bereitgestellt und URI für die Verwendung in OAuth-Flowsn weitergeleitet.
Für die Produktion sollten Sie ein AppId oder ein ClientId erstellen, die spezifisch sind für Ihren Mandanten im Azure Verwaltungsportal.
Beispiel AppId oder ClientId = 51f81489-12ee-4a9e-aaae-a2591f45987d
Beispiel RedirectUri = app://58145B91-0C36-4500-8554-080854F2AC97

Beispiele für Verbindungszeichenfolgen

Die folgenden Beispiele veranschaulichen, wie Sie Verbindungszeichenfolgen für die Verbindung mit Online-Bereitstellungen und Authentifizierungsszenarien verwenden können. Die Beispiele für Verbindungszeichenfolgen für lokale und IFD-Deployment-Instanzen sind nun in der Dokumentation Dynamics 365 Customer Engagement (on-premises) unter: Verwenden Sie Verbindungszeichenfolgen in XRM-Tools, um eine Verbindung herzustellen.

Benanntes Konto mit Office365

Erstellen Sie eine neue Verbindung zu Dataverse mithilfe eines Benutzernamens oder Kennworts über Office365 her.

Hinweis

Diese AuthType ist veraltet und wir empfehlen, OAuth als bevorzugter Authentifizierungstyp zu verwenden. Weitere Informationen: Authentifizieren Sie mithilfe von Office365

<add name="MyCDSServer" 
 connectionString="
  AuthType=Office365;
  Username=jsmith@contoso.onmicrosoft.com; 
  Password=passcode;
  Url=https://contoso.crm.dynamics.com"/>  

OAuth unter Verwendung des benannten Kontos in Microsoft 365 mit UX zur Abfrage der Authentifizierungsbestätigung

Erstellen Sie eine neue Verbindung mit Dataverse mit Hilfe einer UserID oder eines Kennworts via OAuth.

Hinweis

OAuth ist der bevorzugte Authentifizierungstyp für die Verbindung zu Dataverse, wenn ein interaktiver Flow verwendet wird. Dieser Authentifizierungstyp bietet volle Unterstützung der Funktionen des bedingten Microsoft Entra ID-Zugriffs und der Multi-Faktor-Authentifizierung.

<add name="MyCDSServer"
 connectionString="
  AuthType=OAuth;
  Username=jsmith@contoso.onmicrosoft.com;
  Password=passcode;
  Url=https://contosotest.crm.dynamics.com;
  AppId=51f81489-12ee-4a9e-aaae-a2591f45987d;
  RedirectUri=app://58145B91-0C36-4500-8554-080854F2AC97;
  TokenCacheStorePath=c:\MyTokenCache;
  LoginPrompt=Auto"/>  

OAuth nutzt gerade angemeldete Benutzers mit mit Zurücksetzen von UX, um auf die Authentifizierung hinzuweisen

Erstellen Sie eine neue Verbindung zu Dataverse unter Verwendung des aktuell angemeldeten Benutzers über OAuth.

Hinweis

OAuth ist der bevorzugte Authentifizierungstyp für die Verbindung zu Dataverse, wenn ein interaktiver Flow verwendet wird. Dieser Authentifizierungstyp bietet volle Unterstützung der Funktionen des bedingten Microsoft Entra ID-Zugriffs und der Multi-Faktor-Authentifizierung.

<add name="MyCDSServer"
 connectionString="
  AuthType=OAuth;
  Username=jsmith@contoso.onmicrosoft.com;
  Integrated Security=true;
  Url=https://contosotest.crm.dynamics.com;
  AppId=51f81489-12ee-4a9e-aaae-a2591f45987d;
  RedirectUri=app://58145B91-0C36-4500-8554-080854F2AC97;
  TokenCacheStorePath=c:\MyTokenCache\msal_cache.data;
  LoginPrompt=Auto"/>  

Zertifikatsbasierte Authentifizierung

Erstellen Sie eine neue Verbindung zu Dataverse mithilfe einer Anwendungs- oder Client-ID und eines Zertifikats.

<add name="MyCDSServer" 
  connectionString="
  AuthType=Certificate;
  url=https://contosotest.crm.dynamics.com;
  thumbprint={CertThumbPrintId};
  ClientId={AppId};"
  />

Auf der ClientId oder dem geheimen Clientschlüssel basierte Authentifizierung

Erstellen Sie eine neue Verbindung zu Dataverse mithilfe einer Anwendungs- oder Client-ID und eines geheimen Clientschlüssels.

<add name="MyCDSServer" 
  connectionString="
  AuthType=ClientSecret;
  url=https://contosotest.crm.dynamics.com;
  ClientId={AppId};
  ClientSecret={ClientSecret}"
  />

Bestimmung Ihres Verbindungsstatus

Um zu bestimmen, ob die Verbindungsaufforderung erfolgreich war, überprüfen Sie den Wert für CrmServiceClient.IsReady. -Eigenschaft verfügbar. Wenn der Wert true ist, ist die Verbindung erfolgreich undSie können mit der Arbeit beginnen. Andernfalls überprüfen Sie die Werte der CrmServiceClient.LastCrmError- und CrmServiceClient.LastCrmException- Eigenschaften, um die Ursache für den Verbindungsfehler festzustellen.

Siehe auch

Erstellen von Windows-Client-Anwendungen mithilfe der XRM-Tools
CrmServiceClient-Konstruktoren verwenden, um eine Verbindung mit Dataverse herzustellen
Verwenden von XRM-Tooling zur Ausführung von Aktionen in Dataverse
CrmServiceClient

Hinweis

Können Sie uns Ihre Präferenzen für die Dokumentationssprache mitteilen? Nehmen Sie an einer kurzen Umfrage teil. (Beachten Sie, dass diese Umfrage auf Englisch ist.)

Die Umfrage dauert etwa sieben Minuten. Es werden keine personenbezogenen Daten erhoben. (Datenschutzbestimmungen).