首页 > 解决方案 > 如何通过 Microsoft Dynamics 的组织服务获取不同语言的 OptionSet 值和 Formatted 值?

问题描述

我有一个自定义 .NET 应用程序来查询和管理 Microsoft Dynamics CRM 实例上的数据。此应用程序是多语言的,用户可以通过语言切换更改应用程序的语言。

对于连接和操作,我使用 Microsoft.Xrm.Sdk 中的 OrganizationService 和 CRMServiceClient。这与依赖注入相结合,将连接传递给我们的不同类。

使用 Ninject 这个绑定看起来像 Bind().To().WithConstructArgument("crmConnectionString","the connection string");

在 Dynamics 中查询和更新数据工作正常,但我们无法以访问者在自定义应用程序中选择的语言检索 OptionSet 值和 Formatted 值。即使我们在调用 Dynamics 之前更改了 Thread 的文化,这始终是同一种语言。

我们如何将当前的语言/文化传递给 OrganizationService,以便它知道用什么语言来检索字段?

有人告诉我,这是基于用于连接到 CRM 的帐户。因此,如果确实如此,那么这意味着如果我们有 5 种语言,我们需要有 5 个连接字符串和 5 个需要调用的 OrgnaizationService 实例。在这种情况下,我应该如何以一种好的方式处理这个问题?

感谢您的回答

标签: asp.net-mvcdynamics-crm

解决方案


我实施的解决方案是使用 CallerId。在返回客户端之前,我用 Guid 填充 CallerId。

Guid 来自在 Dynamics 中配置了特定语言的用户。根据语言,我采用不同的用户。


推荐阅读