我开始开发一个连接到Dynamics 365实现的ASP .NET MVC网站。
我连接到Dynamics 365的方式是在我的MVC网站中使用单独的数据访问层,每次我想要检索/创建/更新实体时都会调用Dynamics 365。
因此,每当我想要检索来自Dynamics的联系人列表时,我将使用SDK中的CRMServiceClient类创建OrganizationService实例,并使用它来查询CRM。
如果在另一个时间我需要更新实体,我将再次创建一个OrganizationService实例并使用它来更新CRM中的数据。
基本上,每次操作我都会创建一个OrganizationService实例并查询CRM。
这是正确的方法吗?我可以采取哪些方法可以获得更好的性能?
答案 0 :(得分:4)
最好创建一次OrganizationService,然后将其存储在应用程序状态。我没有任何经验证据,但我认为创建服务对象可能需要一段时间。
Adxstudio(在被Microsoft收购之前创建了Microsoft CRM门户网站)也使用缓存层来检索从CRM中检索的数据,以减少发送到CRM的查询数量并提高整体性能。
可能值得分析这两者的性能,看看在你的场景中将对象存储在内存中的额外工作是否值得。