Silverlight WebService 연동 step2
Silverlight 2009. 1. 30. 01:37 |step 1에서 기본 프로젝트를 생성 했습니다.
DB 테이블도 생성 했구요.
이제 할일은 실버라이트 프로젝트랑 DB를 연결 시켜줄 웹 서비스를 구성하는 일입니다.
웹 서비스 제작
- 웹 서비스 프로젝트 생성
- Visual C# > Web > ASP.NET 웹 서비스 응용 프로그램 을 누릅니다.
- 이름은 boardService로 정했습니다.
- 아래와 같은 프로젝트가 하나 생성 됩니다.
이제 프로젝트가 만들어 졌으니 DB를 가져 오는 부분을 추가하고 DB 내용을 담아서 실버라이트로 넘기기 위해서 클래스를 하나 제작 합니다. - DB 바인딩
- 데이터 집합 을 하나 생성합니다. 이름은 "dsBoard"로 정했습니다.
- DB 를 바인딩 하기 위해서 저 같은 경우는 서버 탐색기를 이용 합니다.
서버 탐색기 창에서 이전 강좌에서 만들어 놓은 board 데이터 베이스를 바인딩 합니다.
( 이 부분 설명은 우선 생략 할께요.)
- 위의 memo 테이블을 dsBoard.xsd 파일의 화면으로 드래그 해서 놓으면 테이블 내용이 포함됩니다.
- Data.cs 클래스 파일 생성
- 이제 DB 연결이 준비 되었으니 위의 데이터를 받아 들일 클래스를 하나 제작했습니다.
이름은 Data.cs 파일로 클래스 파일을 준비 하구요.
내용은 아래와 같이 Value를 프로퍼티로 구성했어요.
- 웹 서비스로 노출할 메소드를 정의 하고 아래와 같이 코드를 추가 했습니다.
- 메소드는 리스트를 리턴해 주는 것과 해당 값을 입력 받는 메소드를 정의하고 아래와 같이 코드를 추가 했습니다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;namespace boardService
{
/// <summary>
/// Service1의 요약 설명입니다.
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// ASP.NET AJAX를 사용하여 스크립트에서 이 웹 서비스를 호출하려면 다음 줄의 주석 처리를 제거합니다.
// [System.Web.Script.Services.ScriptService]
public class Service1 : System.Web.Services.WebService
{
[WebMethod]
public string GetDate()
{
return DateTime.Now.ToString();
}[WebMethod]
public List<Data> GetList()
{
List<Data> datas = new List<Data>();dsBoardTableAdapters.memoTableAdapter adapter = new boardService.dsBoardTableAdapters.memoTableAdapter();
dsBoard.memoDataTable table = new dsBoard.memoDataTable();adapter.Fill(table);
foreach (dsBoard.memoRow row in table.Rows)
{
datas.Add(new Data(row.value.ToString()));
}return datas;
}[WebMethod]
public bool AddValue(string value)
{
try
{
dsBoardTableAdapters.memoTableAdapter adapter = new boardService.dsBoardTableAdapters.memoTableAdapter();
adapter.Insert(value);
}
catch (Exception ex)
{
return false;
}
return true;
}
}
}
위와 같이 구성하고 localhost에 게시를 해서 하나 등록을 해 놨습니다.
이제 다음 강좌에서는 실버라이트에서 화면을 구성하고, 데이터를 연동하는 곳을 해볼께요.
위의 웹 서비스를 테스트 하고 하는 부분들은 설명이 좀 길어 질거 같아서 추가를 하지 않았습니다.
이 부분은 웹 서비스 관련 책에 많이 나오기 때문에 생략 했습니다.