Dynamics CRM Plugin Use Config

参考文章:VicTang1104-Dynamics CRM Plugin开发之Unseure Configuration
参考文章:TheMiao-创建一个dynamics 365 CRM online plugin (十一) - Handling Configuration data

Dynamics CRM的Plugin开发中,由于环境(开发和生产)的不同,需要动态配置一些配置项来对应的不同的环境。但是在Plugin无法读取到web.config文件中的信息,所以不能像普通开发那样,将配置项写在web.config或者app.config中来读取,因为根本不会起作用。

那么如果在Plugin的开发中遇到这种需求了怎么办呢,要么写死(不建议),要么动态配置(推荐)。
下面就简单介绍下目前使用最多的两种动态配置方法

1 在Dynamics CRM中创建自定义的配置实体,然后在Plugin中Retrieve配置实体的记录,从而动态获取到所需要的配置项
  • 注意:使用该方案时需要注意权限的配置,谨防Plugin执行时用户没权限读取配置实体的记录
2 使用插件注册工具提供的配置项

如下图,在Register New Step时可以发现右边有两处空白:Unsecure Configuration和Secure Configuration。这两块地方就是我们可以动态配置参数的地方

关于Secure Config 和 UnSecure Config 的区别如下:

  • Unsecure:在Unsecure里面的信息可以保存到导出的.zip solution当中
  • Secure:在secure里面的信息不会被导出到.zip 中, 可以放e.g. account, password 或者url 的这些敏感信息
    那么在Plugin中如何获取呢,可以通过如下代码获取到
public string UnSecureConfig { get; set; }
public string SecureConfig { get; set; }
public TestEntity(string unSecureConfig, string secureConfig)
{
    this.UnSecureConfig = unSecureConfig;
    this.SecureConfig = secureConfig;
}

详细实现可以参考下图

3 还有一种说法可以直接去读系统中的Web Resource(xml格式),具体实现逻辑跟普通的QueryExpression一样

可参考http://ankit.inkeysolutions.com/2012/03/read-configuration-file-web-resource.html

原文地址:https://www.cnblogs.com/cndota2/p/12666597.html