需要了解寻找解决方案的最佳实践。
我们正在研究为需要引用数据的通用配置文件的CRM表单开发Silverlight控件。这是一个需要每隔一段时间定期维护的文件。我们不希望将值硬编码到Silverlight控件中。
我的问题是......在哪里/什么/我们如何为Silverlight控件提供配置文件?
我尝试上传一个JS Web资源,它只是一个JSON数组,其中包含我尝试从Silverlight控件访问的设置。当我使用管理员帐户和我的域帐户进行文件的Http获取并解析它时,我得到的只是权限错误。如果我设法解决这些恼人的权限错误,有人可以确认这可行吗?
我的下一个想法是拥有一个CRM实体,其中包含Silverlight控件可以进行ODATA调用以获取其配置数据的设置。尽管如此,我并没有100%出售这个想法。
也许人们一直在使用另一种方式 - 如果是这样 - 我很想知道你在做什么。这实际上可以阻止我们使用我们追求的Silverlight丰富的解决方案。
提前致谢
答案 0 :(得分:2)
我们经常使用配置实体方法,我认为它运作良好。
你也应该能够使用你的初始方法......我知道在一些地方我们已经在Web资源中完成了一些XML配置,我们已经在Silverlight中检索,解析并完成了一些事情。< / p>
答案 1 :(得分:2)
我们以两种方式解决这个问题。
可以使用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
}
}