2010-03-15 2 views
0

헬로!RIA 서비스 - 데이터베이스가 없습니까?

실버 라이트 3.0 앱에서 자바 웹 서비스를 호출하려면 RIA 서비스를 작성해야합니다. 나는 물건이 어떻게 작동하는지 테스트하고있어 내 웹 응용 프로그램에서 나는 2 개 개의 호텔 (INT의 ID, 문자열 텍스트)이있는의 MyData 클래스가 있습니다

[EnableClientAccess()] 
public class MyService : DomainService 
    { 
     public IQueryable<MyData> GetMyData(string Url) 
     { 
        // here I will call my WebService 

      List<MyData> result = new List<MyData>(); 
      result.Add(new MyData { ID = 1, Text = Url }); 
      return result.AsQueryable(); 
     } 
    } 
} 

:

namespace SilverlightApplication1.Web 
{ 
    public class MyData 
    { 
     [Key] 
     public int ID { get; set; } 

     public string Text { get; set; } 
    } 
} 

가 그럼 난 간단한 DomainService을 썼다을 내 SL 앱에 데이터를 가져 오려면 어떻게해야합니까?) UserControl을 { 공공 MainPage() { 의 InitializeComponent (;

네임 스페이스 SilverlightApplication1 { 공공 부분 클래스 MainPage : 지금이가 MyContext context = new MyContext(); 내가 전화를로드하지만 nothink worsk (예외, 또는 널 (null))

} } } ...

나는 주석을 호출했지만, MyData로는 TEntity하지 내가 문자열 또는 다른 간단한 형식을 사용할 수 없습니다 뿐만 아니라 ... :/ 나는 글을 읽고 읽는 중이며 그럴 필요가없는 것은 아무것도 없다 ..

도움이 될만한 어떤 도움이 될 것입니다.

감사합니다.

답변

0

코드가 서버에서 잘 보입니다. MainPage 생성자 외부에서 컨텍스트를 이동하고로드 작업에 콜백을 추가하려고합니다. 또한 LoadOperation에 대해 System.ServiceModel.DomainServices.Client를 페이지에 추가해야합니다.

using System.Linq; 
using System.ServiceModel.DomainServices.Client; 
using System.Windows.Controls; 
using SilverlightApplication1.Web; 


namespace SilverlightApplication1 
{ 
    public partial class MainPage : UserControl 
    { 
     MyContext context = new MyContext(); 
     public MainPage() 
     { 
      InitializeComponent(); 

      context.Load(context.GetMyDataQuery("url"), loadCallback, null); 
     } 

     void loadCallback(LoadOperation op) 
     { 
      MyData d = context.MyDatas.First(); 
     } 
    } 
}