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