C\#WCF 서비스 콘 솔 프로그램 생 성 상세 설명
운영 체제:Windows 10
개발 환경:VS 2015
프로 그래 밍 언어:C\#
IIS 버 전:10.0.0.0
2.WCF 서비스,인터넷 정보 서비스(IIS)추가
1."제어 판"에 들 어가 서"프로그램 과 기능"을 열 고 왼쪽 상단 의"Windows 기능 사용 또는 닫 기"를 클릭 한 후".NET Framework 4.6 고급 서비스"의 하위 노드 에서"WCF 서비스"를 선택 합 니 다.아래 그림 과 같 습 니 다.
2.'인터넷 정보 서비스'를 찾 으 면 다음 그림 과 같이 이 노드 를 선택 합 니 다.
3.이 서비스 와 구성 요 소 를 설치 하기 위해'확인'단 추 를 누 르 고 설치 가 완료 되 기 를 기다 리 면 됩 니 다.
3.WCF 서비스 라 이브 러 리 를 새로 만 듭 니 다.
1.VS 2015 를 사용 하여 WCF 서비스 라 이브 러 리 를 새로 만 들 고 프로젝트 이름 을'MyWCFService'로 바 꿉 니 다.다음 그림 과 같 습 니 다.
2.솔 루 션 자원 관리자 에서'IService 1'인터페이스,'Service 1'류 를 각각'IMyWCFService'와'MyWCFService'로 바 꿉 니 다.다음 그림 과 같 습 니 다.
VS 2015 는 각각"IService 1"인터페이스,"Service 1"클래스 를 만 들 것 입 니 다."IService 1"인 터 페 이 스 는 GetData,GetDataUsingDataContract 방법 을 포함 하고"Service 1"클래스 를 사용 하여 이 인 터 페 이 스 를 실 현 했 습 니 다.코드 는 다음 과 같 습 니 다.
"IService 1"인터페이스:
// : “ ” “ ” , “IMyWCFService”。
[ServiceContract]
public interface IService1
{
[OperationContract]
string GetData(int value);
[OperationContract]
CompositeType GetDataUsingDataContract(CompositeType composite);
// TODO:
}
// 。
[DataContract]
public class CompositeType
{
bool boolValue = true;
string stringValue = "Hello ";
[DataMember]
public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
}
[DataMember]
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
}
"Service 1"클래스:
// : “ ” “ ” , “Service1”。
public class Service1 : IService1
{
public string GetData(int value)
{
return string.Format("You entered: {0}", value);
}
public CompositeType GetDataUsingDataContract(CompositeType composite)
{
if (composite == null)
{
throw new ArgumentNullException("composite");
}
if (composite.BoolValue)
{
composite.StringValue += "Suffix";
}
return composite;
}
}
3.솔 루 션 자원 관리자 의 항목 인"MyWCFService"로 마 우 스 를 옮 기 고 오른쪽 클릭 하여 컨 텍스트 메뉴 를 팝 업 합 니 다.메뉴 에서"발표"를 선택 한 후 아래 그림 에 표 시 된"WCF 서비스 발표"대화 상 자 를 팝 업 합 니 다.아래 그림 과 같 습 니 다.대상 위치 에서"D:\WCF"를 선택 하고 기본 값 을 누 르 고"발표"단 추 를 누 르 면"D:\WCF"폴 더 에서 다음 그림 과 같은 파일 을 생 성 할 수 있 습 니 다.
4.WCF 서비스 사 이 트 를 새로 만 듭 니 다.
1.클릭 하여 IIS 를 열 고 새로운 사 이 트 를 만 듭 니 다.사이트 이름 은'MyWCFService'로 설정 되 고 물리 적 주 소 는'D:\WCF'를 선택 합 니 다.포트 는 기본 80 에서 81 로 바 꿉 니 다.다음 그림 과 같 습 니 다.
2.확인 을 클릭 하면 WCF 서비스 사 이 트 를 새로 만 들 고 우 리 는 브 라 우 저 에서 입력 할 수 있 습 니 다."http://localhost:81/MyWCFService.MyWCFService.svc'다음 그림 과 같이 검증 을 한다.
5.새로운 콘 솔 클 라 이언 트 테스트 WCF 서비스
1.원래 솔 루 션 에'WCFTestClient'라 는 콘 솔 프로그램 을 새로 만 듭 니 다.다음 그림 과 같 습 니 다.
2.항목"WCFTestClient"를 마우스 오른쪽 단추 로 클릭 하고 팝 업 된 컨 텍스트 메뉴 에서"시작 항목 으로 설정"을 선택 하 십시오.아래 그림 과 같 습 니 다.
3.항목"WCFTestClient"하위 노드"참조"를 마우스 오른쪽 단추 로 클릭 하고 팝 업 된 컨 텍스트 메뉴 에서"서비스 참조 추가"를 선택 하 십시오.아래 그림 과 같 습 니 다.
4.'서비스 인용 추가'대화 상 자 를 팝 업 하고'주소'에 방금 만 든 WCF 서비스 사이트 주 소 를 입력 합 니 다(http://localhost:81/MyWCFService.MyWCFService.svc)"이동"단 추 를 누 르 면"서비스"목록 에 방금 만 든 서 비 스 를 표시 합 니 다."IMyWCFService"를 선택 하면"작업"목록 에 GetData 를 표시 합 니 다.GetDataUsingDataContract 방법 은 다음 그림 과 같 습 니 다.
5.네 임 스페이스 를"MyWCFReference"로 변경 한 후"확인"단 추 를 누 르 면 프로젝트"WCFTestClient"하위 노드 에"Service References"를 추가 합 니 다.아래 그림 과 같 습 니 다.
6.Program 클래스 에 WCF 서비스 인용 을 추가 하고 Main 주 함수 에 다음 코드 를 입력 합 니 다.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using WCFTestClient.MyWCFReference;
namespace WCFTestClient
{
class Program
{
static void Main(string[] args)
{
MyWCFServiceClient client = new MyWCFServiceClient();
Console.WriteLine(client.GetData(123456));
CompositeType cType = new CompositeType() { StringValue = "Hello World!", BoolValue = true };
Console.WriteLine(client.GetDataUsingDataContract(cType).StringValue);
}
}
}
6.클 라 이언 트 콘 솔 프로그램 실행다음 그림 과 같이"WCFTestClient"클 라 이언 트 콘 솔 프로그램 을 실행 합 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
WebView2를 Visual Studio 2017 Express에서 사용할 수 있을 때까지Evergreen .Net Framework SDK 4.8 VisualStudio2017에서 NuGet을 사용하기 때문에 패키지 관리 방법을 packages.config 대신 PackageReference를 사용해야...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.