2011-07-28 3 views
1

솔루션을 찾는 모범 사례가 필요합니다.Microsoft CRM 2011 양식 Silverlight 컨트롤의 구성/설정

데이터의 공통 구성 파일을 참조해야하는 CRM 양식 용 Silverlight 컨트롤을 개발할 계획입니다. 잠시 동안 주기적으로 주기적으로 관리해야 할 파일입니다. 우리는 Silverlight 컨트롤에 값을 하드 코딩하고 싶지 않습니다.

내 질문은 ... 어디서/무엇/어떻게 우리는 Silverlight 컨트롤에 대한 구성 파일을 제공합니까?

Silverlight 컨트롤에서 액세스하려는 설정으로 가득 찬 JSON 배열 인 JS 웹 리소스를 업로드하려고했습니다. 내가 admin 계정과 내 도메인 계정을 모두 사용하여 Http에서 파일을 가져 와서 구문 분석 할 때 권한 오류가 발생했습니다. 이러한 성가신 권한 오류를 해결할 수 있다면 누군가가이 작업이 가능하다는 것을 확인할 수 있습니까?

내 생각에는 Silverlight 컨트롤이 설정 데이터를 가져 오기 위해 ODATA 호출을 할 수있는 설정으로 가득 찬 CRM 엔터티가 있습니다. 나는 생각에 100 % 판매되지 않습니다.

아마도 사람들이 사용하고있는 또 다른 방법이 있습니다. 그렇다면 나는 당신이하고있는 것을보고 싶습니다. 이로 인해 우리는 Silverlight가 풍부해진 솔루션을 사용할 수 없게됩니다.

미리 감사드립니다.

답변

2

우리는 두 가지 방법으로이 문제를 해결합니다.

  1. 관리자가 고객 사이트에서 변경할 수있는 설정 엔티티가 있습니다.
  2. 변경 될 가능성이 낮은 다른 구성 데이터의 경우 XML 웹 리소스를 설치합니다. 이 방법은 복잡한 엔터티 (또는 필요한 경우 관계)를 만들고 관리하지 않고도 많은 데이터를 저장할 수 있음을 의미합니다. 관리되지 않는/사용자 정의 가능한 웹 리소스로 설정된 경우 텍스트 편집기를 사용하여 변경 작업을 수행 할 수 있지만 이러한 변경 사항이 XML 스키마/구문을 위반해서는 안된다는 것을 기억하십시오.

이 xml 웹 리소스는 아래 그림과 같이 WebClient.DownloadStringAsync()를 사용하여 Silverlight에서 검색 할 수 있습니다.

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 
    } 
} 
+0

그 두 가지 방법이 있습니다. 첫 번째 옵션을 사용하기 전에 JSON/XML 웹 리소스 메서드를 수행 할 수 있는지 확인하고 싶었지만 권한 오류가 발생했을 때 실제로 바인딩에 갇혀있었습니다. 이제 사람들이이 방법에 대해서도 그렇게하고 있다는 것을 알았습니다. (그리고 코드가 너무 도움이되었습니다!) 나는 계속해서 내가 그걸 가지고 갈 수있는 곳을 볼 것입니다. 감사! –

2

우리는 구성 엔티티 메소드를 아주 자주 사용하며 잘 동작한다고 생각합니다.

당신도 초기 방법을 사용할 수 있어야합니다 ... 우리는 Silverlight에서 검색 한 웹 리소스에서 XML 구성을 몇 번 해보았습니다.