다음을 통해 공유


방법: IIS에서 실행되는 WCF Data Services 개발

이 항목에서는 WCF Data Services 를 사용하여 IIS(인터넷 정보 서비스)에서 실행되는 ASP.NET 웹 응용 프로그램이 호스팅하는 Northwind 샘플 데이터베이스를 기반으로 데이터 서비스를 만드는 방법을 보여 줍니다. ASP.NET Development Server에서 실행되는 ASP.NET 웹 응용 프로그램으로 동일한 Northwind 데이터 서비스를 만드는 방법의 예제는 WCF Data Services 퀵 스타트를 참조하십시오.

Dd728288.note(ko-kr,VS.100).gif참고:
Northwind 데이터 서비스를 만들려면 로컬 컴퓨터에 Northwind 샘플 데이터베이스를 설치해야 합니다.이 샘플 데이터베이스를 다운로드하려면 Sample Databases for SQL Server 다운로드 페이지를 참조하십시오.

이 항목에서는 Entity Framework 공급자를 사용하여 데이터 서비스를 만드는 방법을 보여 줍니다. 다른 데이터 서비스 공급자를 사용할 수 있습니다. 자세한 내용은 데이터 서비스 공급자(WCF Data Services)를 참조하십시오.

서비스를 만든 후 데이터 서비스 리소스에 대한 액세스 권한을 명시적으로 부여해야 합니다. 자세한 내용은 방법: 데이터 서비스에 액세스할 수 있도록 설정(WCF Data Services)을 참조하십시오.

IIS에서 실행되는 ASP.NET 웹 응용 프로그램을 만들려면

  1. Visual Studio의 파일 메뉴에서 새로 만들기를 선택한 다음 프로젝트를 선택합니다.

  2. 새 프로젝트 대화 상자에서 Visual Basic 또는 Visual C#을 프로그래밍 언어로 선택합니다.

  3. 템플릿 창에서 ASP.NET 웹 응용 프로그램을 선택합니다. 참고: Visual Studio Web Developer를 사용하는 경우 새 웹 응용 프로그램 대신 새 웹 사이트를 만들어야 합니다.

  4. 프로젝트 이름으로 NorthwindService를 입력합니다.

  5. 확인을 클릭합니다.

  6. 프로젝트 메뉴에서 NorthwindService 속성을 선택합니다.

  7. 탭을 선택한 다음 로컬 IIS 웹 서버 사용을 선택합니다.

  8. 가상 디렉터리 만들기를 클릭한 다음 확인을 클릭합니다.

  9. 명령 프롬프트에서 다음 명령을 실행합니다.

    "%windir%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation\ServiceModelReg.exe" -i
    

    이렇게 하면 WCF(Windows Communication Foundation)가 컴퓨터에서 등록됩니다.

  10. SQL Server Management Studio 또는 sqlcmd.exe 유틸리티를 사용하여 Northwind 데이터베이스가 연결된 SQL Server 인스턴스에 대해 다음 Transact-SQL 명령을 실행합니다.

    CREATE LOGIN [NT AUTHORITY\NETWORK SERVICE] FROM WINDOWS;
    GO 
    

    이렇게 하면 IIS를 실행하는 데 사용되는 Windows 계정에 대한 로그인이 SQL Server 인스턴스에서 만들어집니다. 이에 따라 IIS에서 SQL Server 인스턴스에 연결할 수 있습니다.

  11. Northwind 데이터베이스가 연결된 상태에서 다음 Transact-SQL 명령을 실행합니다.

    USE Northwind
    GO
    CREATE USER [NT AUTHORITY\NETWORK SERVICE] 
    FOR LOGIN [NT AUTHORITY\NETWORK SERVICE] WITH DEFAULT_SCHEMA=[dbo];
    GO
    ALTER LOGIN [NT AUTHORITY\NETWORK SERVICE] 
    WITH DEFAULT_DATABASE=[Northwind]; 
    GO
    EXEC sp_addrolemember 'db_datareader', 'NT AUTHORITY\NETWORK SERVICE'
    GO
    EXEC sp_addrolemember 'db_datawriter', 'NT AUTHORITY\NETWORK SERVICE'
    GO 
    

    이렇게 하면 새 로그인에 권한이 부여되어 IIS에서 Northwind 데이터베이스에 있는 데이터를 읽고 Northwind 데이터베이스에 데이터를 쓸 수 있습니다.

데이터 모델을 정의하려면

  1. 솔루션 탐색기에서 ASP.NET 프로젝트의 이름을 마우스 오른쪽 단추로 클릭하고 새 항목 추가를 클릭합니다.

  2. 새 항목 추가 대화 상자에서 ADO.NET 엔터티 데이터 모델을 선택합니다.

  3. 데이터 모델의 이름으로 Northwind.edmx를 입력합니다.

  4. 엔터티 데이터 모델 마법사에서 데이터베이스에서 생성을 선택하고 다음을 클릭합니다.

  5. 다음 단계 중 하나를 수행하여 데이터 모델을 데이터베이스에 연결하고 다음을 클릭합니다.

    • 데이터베이스 연결이 구성되어 있지 않은 경우 새 연결을 클릭하고 새 연결을 만듭니다. 자세한 내용은 방법: SQL Server 데이터베이스에 대한 연결 만들기를 참조하십시오. 이 SQL Server 인스턴스에는 Northwind 샘플 데이터베이스가 연결되어 있어야 합니다.

      -또는-

    • Northwind 데이터베이스에 연결할 수 있도록 데이터베이스 연결이 이미 구성되어 있는 경우 연결 목록에서 해당 연결을 선택합니다.

  6. 마법사의 마지막 페이지에서 데이터베이스에 있는 모든 테이블의 확인란을 선택하고 뷰 및 저장 프로시저 확인란의 선택을 취소합니다.

  7. 마침을 클릭하여 마법사를 닫습니다.

    Dd728288.note(ko-kr,VS.100).gif참고:
    생성된 이 데이터 모델은 엔터티 형식의 외래 키 속성을 노출합니다.Visual Studio 2008을 사용하여 만들어진 데이터 모델에는 이러한 외래 키 속성이 포함되지 않습니다.이 때문에 이 버전의 Northwind 데이터 서비스에 액세스하기 전에 Visual Studio 2008을 사용하여 만들어진 Northwind 데이터 서비스에 액세스하기 위해 만들어진 모든 클라이언트 응용 프로그램의 클라이언트 데이터 서비스 클래스를 업데이트해야 합니다.

데이터 서비스를 만들려면

  1. 솔루션 탐색기에서 ASP.NET 프로젝트 이름을 마우스 오른쪽 단추로 클릭하고 새 항목 추가를 클릭합니다.

  2. 새 항목 추가 대화 상자에서 ADO.NET Data Services를 선택합니다.

  3. 서비스 이름으로 Northwind를 입력합니다.

    Visual Studio에서 새 서비스의 XML 태그와 코드 파일을 만듭니다. 기본적으로 코드 편집기 창이 열립니다. 솔루션 탐색기에서 이 서비스의 이름은 Northwind.svc.cs 또는 Northwind.svc.vb로 나타납니다.

  4. 데이터 서비스 코드에서 데이터 서비스를 정의하는 클래스 정의의 /* TODO: put your data source class name here */ 주석을 데이터 모델의 엔터티 컨테이너인 형식(이 경우 NorthwindEntities)으로 바꿉니다. 클래스 정의는 다음과 같이 나타납니다.

    Public Class Northwind
        Inherits DataService(Of NorthwindEntities)
    
    public class Northwind : DataService<NorthwindEntities>
    

참고 항목

개념

데이터를 서비스로 노출(WCF Data Services)