我正在使用ASP.NET MVC5应用程序而且我对CrmServiceClient
不是很熟悉所以我需要帮助来决定哪种方法对我的应用程序更好。
很少解释如何构思应用程序,应用程序将拥有将在应用程序中运行的用户/代理。最大的问题是这应该怎么样?我应该为每个用户/代理创建他自己的CrmServiceClient
实例/连接(每个用户在CRM中都是“systemuser”并提供他的凭据)或者我应该创建CrmServiceClient
的一个实例/连接(作为管理员来自CRM)并完成所有操作。
基于HTTP请求的连接:
有了这种方法,我不确定CrmServiceClient
如果对每一个人都会如何行动
请求每个用户创建新实例(打开新连接),当请求结束时我Dispose()
它?我是否会为每个用户获取新实例,或者我将为之前已经建立连接的用户获取相同的实例?
应用程序有效期连接:
使用这种方法,我会在应用程序启动时创建CrmServiceClient
的实例/连接,并在整个应用程序生命周期内保持打开状态,这样每个发出请求的用户都会使用相同的实例。这可能是一个很大的性能问题,因为它只有一个对CRM开放的实例/连接?
一段时间后,该实例/连接将如何运作?它会自动关闭还是保持打开状态? (为简单起见,我们假设应用程序需要运行数天,数月,数年等...)
答案 0 :(得分:1)
不确定CrmServiceClient
但我知道HttpClient
应该在应用程序生命周期内保持打开状态(即不应在using
结构中使用,也不应在每次请求后处理)。< / p>
您可以查看CrmServiceClient
在引擎盖下使用的结构吗?