使用 CrmServiceClient 时基于 HTTP 请求的连接与应用程序生命周期连接

HTTP request based connection vs application lifetime connection when using CrmServiceClient

我正在开发 ASP.NET MVC5 应用程序,我对 CrmServiceClient 不是很熟悉,所以我需要帮助来决定哪种方法更适合我的应用程序。

很少解释应用程序是如何构思的,应用程序将具有users/agents将在应用程序中运行的内容。最大的问题是这应该怎么看?我应该为每个 user/agent 制作他自己的 instance/connection of CrmServiceClient(每个用户在 CRM 中都是 "systemuser" 并提供他的凭据)还是我应该制作一个 instance/connection 的 CrmServiceClient(作为 CRM 的管理员)并执行所有操作。

基于 HTTP 请求的连接:
使用这种方法我不确定 CrmServiceClient 将如何行动 请求每个用户让我创建新实例(打开新连接)并且当请求结束时我 Dispose() 它?我会为每个用户获得新的实例,还是为已经在之前的请求中建立连接的用户获得相同的实例?

应用程序生命周期连接:
通过这种方法,我将在应用程序启动时创建 instance/connection 的 CrmServiceClient 并在整个应用程序生命周期内保持打开状态,以便每个发出请求的用户都将使用相同的实例。这可能是一个大的性能问题,因为它只有一个 instance/connection 对 CRM 开放吗? 一段时间后 instance/connection 将如何行动?它会自动关闭还是保持打开状态? (为简单起见,假设应用程序需要 运行 天、月、年等...)

不确定 CrmServiceClient 但我知道 HttpClient 应在应用程序生命周期内保持打开状态(即不应在 using 结构中使用,也不应在每次请求后处理) .

你能检查一下 CrmServiceClient 背后使用的是什么结构吗?