Конфигурация/параметры для Microsoft CRM 2011 Form Silverlight Control

Нужна идея о передовом опыте в поиске решения.

Мы рассматриваем возможность разработки элементов управления Silverlight для форм CRM, которые должны будут ссылаться на общий файл конфигурации для данных. Это файл, который необходимо периодически поддерживать время от времени. Мы не хотим жестко кодировать значения в элементе управления Silverlight.

У меня вопрос... Где/что/как мы предоставляем файл конфигурации для элемента управления Silverlight?

Я попытался загрузить веб-ресурс JS, который представлял собой просто массив JSON, полный настроек, к которым я пытался получить доступ из элемента управления Silverlight. Все, что я получил, это ошибки разрешения, когда я использовал учетную запись администратора и учетную запись домена для получения файла по протоколу Http и его анализа. Может ли кто-нибудь подтвердить, что это может сработать, если мне удастся справиться с этими раздражающими ошибками разрешений?

Моя следующая мысль заключалась в том, чтобы создать объект CRM, полный настроек, к которым элемент управления Silverlight мог бы обращаться ODATA, чтобы получить свои данные конфигурации. Хотя я не на 100% уверен в этой идее.

Возможно, есть и другой способ, которым люди пользуются — если да — мне бы очень хотелось посмотреть, что вы делаете. Это действительно может помешать нам прийти к решению, обогащенному Silverlight, которое нам нужно.

заранее спасибо


person Matty Bear    schedule 28.07.2011    source источник


Ответы (2)


Мы делаем это двумя способами.

  1. У нас есть объект конфигурации для настроек, которые могут быть изменены на сайте клиента их администратором.
  2. Для других данных конфигурации, которые вряд ли будут изменены, мы устанавливаем веб-ресурс XML. Этот метод означает, что мы можем хранить много данных без необходимости создавать и управлять сложными объектами (или отношениями, если это необходимо). Если он установлен как неуправляемый/настраиваемый веб-ресурс, то для внесения изменений можно использовать текстовый редактор, но помните, что эти изменения не должны нарушать схему/синтаксис XML.

Этот веб-ресурс xml можно получить в Silverlight с помощью WebClient.DownloadStringAsync(), как показано ниже.

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
    }
}
person Luke Baulch    schedule 28.07.2011
comment
Это два способа, которые я имел в виду. Прежде чем перейти к первому варианту, я действительно хотел убедиться, что могу использовать метод веб-ресурсов JSON/XML, но действительно застрял в привязке, когда дело дошло до ошибок разрешений. Теперь, когда я знаю, что люди тоже делают это таким образом (и ваш код тоже был очень полезен, спасибо!), я буду настаивать и посмотреть, что я могу с ним сделать. Спасибо! - person Matty Bear; 29.07.2011

Мы используем метод сущности конфигурации довольно часто, и я думаю, что он хорошо работает.

Вы также должны быть в состоянии использовать свой первоначальный метод... Я знаю, что в нескольких местах мы выполнили некоторую конфигурацию XML в веб-ресурсе, который мы получили в Silverlight, проанализировали и что-то сделали с ним.

person Matt    schedule 28.07.2011