asp.net-mvc - 如何通过 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 实例。在这种情况下,我应该如何以一种好的方式处理这个问题?
感谢您的回答
解决方案
我实施的解决方案是使用 CallerId。在返回客户端之前,我用 Guid 填充 CallerId。
Guid 来自在 Dynamics 中配置了特定语言的用户。根据语言,我采用不同的用户。
推荐阅读
- json - ChangeNotifierProxyProvider 颤动
- javascript - 尽管导出了服务器,但“TypeError:app.address 不是函数”
- python-3.x - 删除嵌套json响应python中的对象
- python-3.x - 通过 boto3 在 AWS EC2 上运行 python Flask API
- asynchronous - 如何将 Stream 转换为 Future?
- android - Flutter Firebase 和 Android 问题 - 无法初始化。找不到执行最新(2020 年 9 月)迁移指令的 google-services.json
- python - 在 python 的异步函数中要调用的所有参数是什么?
- javascript - 我的机器人无法使用系统分配的托管标识访问 Blob 存储帐户
- swift - 如何修复segue显示灰屏
- jenkins - 如何在 Jenkins Jobs 中运行代码审查工作流程以编写脚本?