使用 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
背后使用的是什么结构吗?
我正在开发 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
背后使用的是什么结构吗?