Verbindungszeichenfolgen im XRM-Tooling verwenden

Mit Dynamics 365 Customer Engagement (on-premises) ermöglicht das XRM-Tooling es Ihnen, eine Verbindung zu Ihrer Instanz herzustellen, indem Sie Verbindungszeichenfolgen verwenden. 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. Auf diese Weise können Sie Dynamics 365 Customer Engagement (on-premises)-Verbindungen zum Zeitpunkt des Bereitstellens konfigurieren und müssen in Ihrer Anwendung keinen Hardcode für die Verbindung zu Ihrer Instanz eingeben.

Notiz

Die Verbindungszeichenfolgedokumentation, die für Benutzer von Dataverse gilt, ist jetzt in der Power Apps Dokumentation verfügbar unter: Verbindungszeichenfolgen in XRM-Tooling zur Verbindung mit Dataverse verwenden

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="MyCRMServer" connectionString="AuthType=AD;Url=https://contoso:8080/Test;" />  
</connectionStrings>  

Wichtig

Wenn Sie vertrauliche Informationen zur Datei app.config oder web.config 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 pre-configured connection string named "MyCRMServer"
CrmServiceClient crmSvc = new CrmServiceClient(ConfigurationManager.ConnectionStrings["MyCRMServer"].ConnectionString);  

Notiz

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 CrmServiceClient Objekt erstellt haben, können Sie das Objekt werden, um Aktionen in Dynamics 365 Customer Engagement (on-premises) auszuführen. Weitere Informationen: XRM-Tooling zur Ausführung von Aktionen verwenden

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
ServiceUri, Service Uri, Url, oder Server Gibt die URL zu Dynamics 365 Server 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 für https://crm-server:port/organization-name oder für Dynamics 365 Customer Engagement (on-premises) gespeichert.

Der Organisationsname muss angegeben werden. Sie können entweder den benutzerfreundlichen oder eindeutigen Namen der Organisation angeben, um eine Verbindung herzustellen.

Beispiel: https://contoso/test, https://contoso:5555/test, https://contoso/test oder https://10.10.10.2/test.
Domain Gibt die Domäne an, die Anmeldeinformationen von Benutzern überprüft.
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 die Verbindung zur Dynamics 365 Customer Engagement (on-premises) Instanz herzustellen. Gültige Werte sind: AD, IFD (AD FS) aktiviert, OAuth oder Office365.

- AD und IFD sind nur für Dynamics 365 Customer Engagement (on-premises)-Instanzen zulässig.
- OAuthist für Dynamics 365 Customer Engagement (on-premises)- und Dataverse-Instanzen zulässig. Für lokale ADFS ist 3.x+ und App\Client-ID-Registrierung mit ADFS für den OAuth-Typen erforderlich.
- Office365 ist nur für Dataverse-Instanzen zulässig.
– Die Verwendung eines Zertifikats oder eines geheimen Clientschlüssels zur Authentifizierung wird in Dataverse, aber nicht in Dynamics 365 Customer Engagement (on-premises) unterstützt.
RequireNewInstance Definiert, ob die vorhandene Verbindung wieder verwendet wird, wenn Sie aufgerufen wird, solange die Verbindung noch aktiv ist. Standardwert ist false, der angibt, dass die bestehende Verbindung wiederverwendet wird. Wenn auf true festgelegt, wird das System gezwungen, eine eindeutige Verbindung herzustellen.
ClientId, AppId or ApplicationId Gibt die ClientID an, die bei der Registrierung Ihrer Anwendung in Azure Active Directory oder Active Directory Federation Services (AD FS) zugewiesen wurde.
RedirectUri oder ReplyUrl Gibt die Redirect-URI der Anwendung an, die Sie in Azure Active Directory 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 den Benutzer immer auf, Anmeldeinformationen anzugeben.
- Auto: Erlaubt es dem Benutzer, in der Schnittstelle des Steuerelements für die Anmeldung auszuwählen, ob die Eingabeaufforderung angezeigt werden soll 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.
SkipDiscovery Gibt an, ob Instanz-Erkennung aufgerufen wird, um die Verbindungs-URI für eine bestimmte Instanz zu bestimmen. Ab NuGet Version Microsoft.CrmSdk.XrmTooling.CoreAssembly 9.0.2.7, Standard = true. Standard der ältere Versionen werden false.
Hinweis: Wenn Sie true festlegen, ist es wichtig, dass der Benutzer den entsprechenden und präzisen URI für die Zielinstanz zur Verfügung hat.
Thumbprint oder CertificateThumbprint 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.
StoreName oder CertificateStoreName Definiert den Speichernamen, unter dem das Zertifikat für den Fingerabdruck gefunden wird. Wenn festgelegt, ist der Fingerabdruck erforderlich.

Anmerkung

Wenn Sie den OAuth-Authentifizierungstyp für Entwicklungs- und Erstausführungszwecke verwenden, haben wir die folgende AppId oder ClientId bereitgestellt und Weiterleitungs-URI für die Verwendung in OAuth-Flows weitergeleitet. Wir verwenden diese in allen unseren Codebeispielen.

Beispiel AppId oder ClientId = 51f81489-12ee-4a9e-aaae-a2591f45987d
Beispiel RedirectUri = app://58145B91-0C36-4500-8554-080854F2AC97

Für die Produktion sollten Sie ein AppId oder ein ClientId erstellen, die spezifisch sind für Ihren Mandanten im Azure Verwaltungsportal.

Beispiele für Verbindungszeichenfolgen

Die folgenden Beispiele veranschaulichen, wie Sie Verbindungszeichenfolgen für die Verbindung mit Dynamics 365 Customer Engagement (on-premises) und IFD-Bereitstellungen und Authentifizierungsszenarien verwenden können. Die Verbindungszeichenfolgen für Dataverse Instanzen ist jetzt in der Power Apps Dokumentation unter: Verbindungszeichenfolgen in XRM-Tooling zur Verbindung mit Dataverse verfügbar

Integrierte lokale Authentifizierung

<add name="MyCRMServer"
connectionString="AuthType=AD;
Url=https://contoso:8080/Test;" />  

Benanntes Konto unter Verwendung der lokalen Authentifizierung

<add name="MyCRMServer"
connectionString="AuthType=AD;
Url=https://contoso:8080/Test;
Domain=CONTOSO;
Username=jsmith;
Password=passcode" />  

OAuth unter Verwendung des benannten Kontos in Dynamics 365 Customer Engagement (on-premises) mit UX zur Abfrage der Authentifizierungsbestätigung

Erstellen einer neuen Verbindung mithilfe einer Benutzer-ID oder mit einem Kennwort über oAuth.

Notiz

OAuth ist der bevorzuge Authentifizierungstyp für die Verbindung mit Dynamics 365 Customer Engagement (on-premises), wenn ein interaktiver Flow verwendet wird. Dieser Authentifizierungstyp unterstützt die Funktion von Azure Active Directory Bedingter Zugriff und mehrstufige Authentifizierung.

<add name="MyCRMServer"
 connectionString="
  AuthType=OAuth;
  Username=jsmith;
  Password=passcode;
  Url=https://contoso:8080/Test;
  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 einer neuen Verbindung mithilfe dem geraden angemeldeten Benutzer über oAuth.

Notiz

OAuth ist der bevorzuge Authentifizierungstyp für die Verbindung mit Dynamics 365 Customer Engagement (on-premises), wenn ein interaktiver Flow verwendet wird. Dieser Authentifizierungstyp unterstützt die Funktion von Azure Active Directory Bedingter Zugriff und mehrstufige Authentifizierung. Um mehr über die Integrated Security Parameter zu erfahren, gehen sie zum Thema Hier.

<add name="MyCRMServer"
 connectionString="
  AuthType=OAuth;
  Username=jsmith;
  Integrated Security=true;
  Url=https://contoso:8080/Test;
  AppId=51f81489-12ee-4a9e-aaae-a2591f45987d;
  RedirectUri=app://58145B91-0C36-4500-8554-080854F2AC97;
  TokenCacheStorePath=c:\MyTokenCache;
  LoginPrompt=Auto"/>  

IFD unter Verwendung eines benannten Kontos mit Delegierung an einen Vorbereich

<add name="MyCRMServer"
connectionString="AuthType=IFD;Url=https://contoso:8080/Test;
 HomeRealmUri=https://server-1.server.com/adfs/services/trust/mex/;
Domain=CONTOSO; 
Username=jsmith; 
Password=passcode" />  

Bestimmung Ihres Verbindungsstatus

Um festzustellen, ob die Verbindungsanfrage erfolgreich war, prüfen Sie den Wert der Eigenschaft CrmServiceClient.IsReady. Wenn der Wert true ist, ist die Verbindung erfolgreich undSie können mit der Arbeit beginnen. Andernfalls überprüfen Sie die Werte der Eigenschaften CrmServiceClient.LastCrmError und CrmServiceClient.LastCrmException auf die Ursache für den Verbindungsfehler.

Siehe auch

Erstellen von Windows-Client-Anwendungen mithilfe der XRM-Tools
Benutzen Sie CrmServiceClient-Konstruktoren, um sich mit Dynamics 365 Customer Engagement (on-premises) und Dataverse zu verbinden
XRM-Tooling zur Ausführung von Aktionen verwenden
CrmServiceClient