Ich arbeite an ASP.NET MVC5-Anwendung, und ich bin nicht sehr vertraut mit CrmServiceClient
, also brauche ich Hilfe bei der Entscheidung, welcher Ansatz für meine Anwendung besser wäre.HTTP-Anfrage basierte Verbindung vs Anwendung Lebenszeit Verbindung bei der Verwendung CrmServiceClient
Kleine Erklärung, wie Anwendung konzipiert ist, Anwendung wird Benutzer/Agenten haben, die in der Anwendung arbeiten werden. Das größte Problem ist, wie sollte das aussehen? Sollte ich für jeden Benutzer/Agenten seine eigene Instanz/Verbindung von CrmServiceClient
machen (jeder Benutzer wäre "systemuser" in CRM und würde seine Zugangsdaten angeben) oder ich würde eine Instanz/Verbindung von CrmServiceClient
(als Administrator von CRM) machen und alles tun die Operation.
HTTP-Anfrage-basierte Verbindung:
Mit diesem Ansatz ist nicht sicher, wie wird CrmServiceClient
handeln, wenn für jede Anforderung, dass jeder Benutzer gemacht i schafft neue Instanz (neue Verbindung öffnen), und wenn Anfrage über i es Dispose()
? Erhalte ich für jeden Benutzer eine neue Instanz oder erhalte ich dieselbe Instanz für einen Benutzer, der bereits eine Verbindung mit einer früheren Anfrage hergestellt hat?
Anwendung Lebensdauer Verbindung:
diesen Ansatz mit i eine Instanz/Verbindung von CrmServiceClient
schaffen würde, wenn die Anwendung es für die gesamte Anwendung Lebensdauer öffnen beginnen und hält jeder so jeden Benutzer, die Anfrage gleiche Instanz verwenden würde machen. Könnte dies ein großes Leistungsproblem darstellen, da nur eine Instanz/Verbindung für CRM verfügbar ist? Wie wird diese Instanz/Verbindung nach einiger Zeit funktionieren? wird es automatisch geschlossen oder offen bleiben? (der Einfachheit halber sagen wir, dass die Anwendung für Tage, Monate, Jahre usw. laufen muss)
'CrmServiceClient' verwenden' OrganizationServiceProxy', meintest du das oder etwas anderes? Wie auch immer, ich wählte ** Application lifetime connection ** und implementierte den benutzerdefinierten Verbindungspool von 'CrmServiceClient'. – Genato