2017-09-30 44 views
0

我正在处理ASP.NET MVC5应用程序,我对CrmServiceClient不是很熟悉,所以我需要帮助来决定哪种方法对我的应用程序更好。基于HTTP请求的连接与使用CrmServiceClient时的应用程序生存期连接

很少解释应用程序是如何构思的,应用程序将拥有将在应用程序中运行的用户/代理。最大的问题是这应该如何看待?我应该为每个用户/代理制定他自己的实例/ CrmServiceClient的连接(每个用户都是CRM系统中的“systemuser”,并提供他的凭据),或者我应该制作CrmServiceClient(作为CRM的管理员)的一个实例/连接,并执行所有操作操作。

HTTP请求,基于连接:
通过这种方法我不知道怎么会,若对所有 要求CrmServiceClient行为,每一个用户做出我创建新实例(打开新的连接),当请求通过我Dispose()呢?我会得到每个用户的新实例,否则我会得到相同的实例用户已经在以前的请求中进行连接?

应用寿命连接:
采用这种方法时,应用程序启动并保持开放的整个应用程序生命周期所以每次使请求将使用相同的实例每一个用户,我会创造的CrmServiceClient实例/连接。这可能是一个很大的性能问题,因为它只是一个开放给CRM的实例/连接? 一段时间后,该实例/连接将如何运行?它会自动关闭还是保持打开状态? (为简单起见,假设该应用程序需要数天,月,年等运行...)

回答

0

不确定CrmServiceClient但我知道HttpClient应当对申请终身保持开放(即不应该被用在using结构,也不会在每次请求后处理)。

你能检查什么结构CrmServiceClient引擎盖下使用?

+0

'CrmServiceClient'使用'OrganizationServiceProxy',你是指那个还是别的吗?无论如何,我选择**应用程序生命周期连接**,我实现了'CrmServiceClient'的自定义连接池。 – Genato