【问题标题】:Config/Settings for a Microsoft CRM 2011 Form Silverlight ControlMicrosoft CRM 2011 表单 Silverlight 控件的配置/设置
【发布时间】:2011-10-14 21:34:45
【问题描述】:

需要一个关于寻找解决方案的最佳实践的想法。

我们正在考虑为需要引用通用数据配置文件的 CRM 表单开发 Silverlight 控件。这是一个需要每隔一段时间定期维护的文件。我们不想将值硬编码到 Silverlight 控件中。

我的问题是...我们在哪里/什么/如何为 Silverlight 控件提供配置文件?

我尝试上传一个 JS Web 资源,它只是一个 JSON 数组,其中包含我尝试从 Silverlight 控件访问的设置。当我同时使用管理员帐户和域帐户对文件进行 Http 获取并解析它时,我得到的只是权限错误。如果我设法解决这些烦人的权限错误,有人可以确认这可以工作吗?

我的下一个想法是拥有一个充满设置的 CRM 实体,Silverlight 控件可以调用 ODATA 以获取其配置数据。不过,我并不是 100% 认同这个想法。

也许人们一直在使用另一种方式 - 如果是这样 - 我很想看看你在做什么。这确实会阻止我们找到我们所追求的丰富的 Silverlight 解决方案。

提前致谢

【问题讨论】:

    标签: silverlight dynamics-crm odata crm dynamics-crm-2011


    【解决方案1】:

    我们经常使用配置实体方法,我认为它很好用。

    您也应该能够使用您的初始方法...我知道在一些地方我们已经在一个 Web 资源中完成了一些 XML 配置,我们已经在 Silverlight 中检索、解析并完成了一些操作。

    【讨论】:

      【解决方案2】:

      我们通过两种方式来解决这个问题。

      1. 我们有一个配置实体,用于设置管理员可能会在客户站点上更改的设置。
      2. 对于其他不太可能更改的配置数据,我们安装了 XML Web 资源。这种方法意味着我们可以存储大量数据,而无需创建和管理复杂的实体(或需要时的关系)。如果设置为非托管/可自定义的 Web 资源,则可以使用文本编辑器进行更改,但请记住,这些更改不得破坏 XML 架构/语法。

      可以使用 WebClient.DownloadStringAsync() 在 Silverlight 中检索此 xml Web 资源,如下所示。

      private void GetXmlConfiguration(string resourceName)
      {
          var webClient = new WebClient();
          webClient.DownloadStringCompleted += OnGetConfigurationXmlCompleted;
          webClient.DownloadStringAsync(new Uri("../Data/" + resourceName, UriKind.Relative));
      }
      
      private void OnGetConfigurationXmlCompleted(object sender, DownloadStringCompletedEventArgs e)
      {
          if (e.Error == null && !string.IsNullOrEmpty(e.Result))
          {
              //use xml string here
          }
      }
      

      【讨论】:

      • 这是我想到的两种方式。在选择第一个选项之前,我真的很想确保我可以使用 JSON/XML Web 资源方法,但在遇到权限错误时确实陷入了困境。现在我知道人们也在这样做(而且你的代码也非常有帮助,谢谢!)我会坚持下去,看看我能用它去哪里。谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-01
      相关资源
      最近更新 更多