2017-09-30 75 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