답변:
Visual Studio를 시작하고 웹 프로젝트 (또는 콘솔 앱-중요하지 않음)를 만듭니다.
.Net 표준의 경우 :
오류가없는 경우 서비스에 액세스하는 데 사용할 네임 스페이스를 설정하기 만하면 자동으로 생성됩니다.
.Net Core 용
위의 모든 방법은 사용할 수있는 간단하고 매우 기본적인 WCF 클라이언트를 생성합니다. 생성 된 코드에서 "YourservicenameClient"클래스를 찾아야합니다.
참조 목적으로 생성 된 cs 파일은 Obj / debug (또는 릴리스) / XsdGeneratedCode에서 찾을 수 있으며 TempPE 폴더에서 여전히 dll을 찾을 수 있습니다.
생성 된 서비스에는 WSDL 계약에 정의 된 각 메서드에 대한 메서드가 있어야합니다.
클라이언트를 인스턴스화하고 호출하려는 메소드를 호출하십시오. 그게 전부입니다!
YourServiceClient client = new YourServiceClient();
client.SayHello("World!");
원격 URL을 지정해야하는 경우 (기본적으로 생성 된 URL을 사용하지 않음) 프록시 클라이언트의 생성자에서 쉽게 수행 할 수 있습니다.
YourServiceClient client = new YourServiceClient("configName", "remoteURL");
여기서는 configName
사용할 끝점의 이름 (URL을 제외한 모든 설정 사용) remoteURL
이고은 연결할 URL을 나타내는 문자열입니다 (구성에 포함 된 이름 대신).
비주얼 스튜디오에서.
오류가 없으면 개체 브라우저 및 모든 관련 메서드에서 서비스 참조를 볼 수 있어야합니다.
WSDL.EXE 유틸리티 를 사용 하여 WSDL에서 웹 서비스 프록시를 생성합니다.
다음과 같은 클래스가 포함 된 긴 C # 소스 파일이 생성됩니다.
/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "2.0.50727.42")]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
[System.Web.Services.WebServiceBindingAttribute(Name="MyService", Namespace="http://myservice.com/myservice")]
public partial class MyService : System.Web.Services.Protocols.SoapHttpClientProtocol {
...
}
클라이언트 측 웹 서비스 소비 코드에서 :
.Net Core 프로젝트 에 wsdl 참조를 추가하려는 경우 "웹 참조 추가"옵션이 없습니다.
wsdl 참조를 추가하려면 솔루션 탐색기로 이동하여 참조 프로젝트 항목을 마우스 오른쪽 단추로 클릭 한 다음 연결된 서비스 추가 옵션 을 클릭합니다 .
그런 다음 'Microsoft WCF 웹 서비스 참조'를 클릭합니다.
URI 텍스트 상자에 파일 경로를 입력하고 WSDL을 가져옵니다.
간단하고 매우 기본적인 WCF 클라이언트를 생성하고 다음과 같이 사용합니다.
YourServiceClient client = new YourServiceClient();
client.DoSomething();