2 augusti, 2019 Inopto_AB

c# 웹서비스 호출 예제

”가상 디렉터리 별칭” 화면이 열립니다. 가상 디렉터리 이름을 입력합니다. 예를 들어, MyWebServices. 다음을 클릭합니다. 나는 여기에 몇 가지 중요한 단계를 남겼습니다 : 예를 들어 서비스에 로그인 할 자격 증명을 제공하지 않았습니다. C#에서 반환된 데이터(”false 문자열”)를 부울로 변환하는 것이 더 복잡할 수 있습니다. WebResponse에는 Using 블록을 통해 호출해야 하는 Dispose 메서드가 있습니다. 그러나 이러한 단계가 생략된 경우에도 많은 코드가 있습니다. WebClient: 사용 용이성 WebClient 개체는 RESTful 서비스를 호출하기 위한 더 간단한 인터페이스를 제공하기 위해 HttpWebRequest를 래핑하여 복잡성을 해결합니다. 목록 2는 목록 1과 동일한 작업을 수행하지만 코드가 훨씬 적습니다. 먼저 개체 지향 클래스와 마찬가지로 인터넷을 통해 호출(또는 ”노출”)하는 웹 서비스 함수 또는 메서드를 만듭니다. 차이점은 이 경우 필요한 모든 웹 서비스 네임스페이스, 구문 및 특성과 데이터 네임스페이스를 통합하고 가져와야 한다는 것입니다. 이 문서에서는 C#을 사용하므로 VB와 관련된 중요한 차이점도 표시됩니다.

HttpClient: 비동기 천국 그러나 .NET Framework 버전 4.5 이상(및 버전 4.5가 5년 동안 사용 중)을 사용하는 경우 HttpClient 개체에도 액세스할 수 있습니다. HttpClient는 WebClient또는 HttpWebRequest가 하지 않는 기능을 제공합니다. 예를 들어 HttpClient를 사용하면 새 개체를 만들지 않고도 여러 요청을 수행할 수 있습니다. 장기 실행 요청의 진행 률을 추적할 수 있습니다. 그리고 조롱을 통해 테스트에 HttpClient를 통합하는 것이 훨씬 쉽습니다. HttpWebRequest의 문제는 HttpWebRequest를 사용하여 RESTful 서비스를 호출하려면 모든 것을 직접 지정해야 한다는 것입니다. 나열 1은 HttpWebRequest 개체를 사용하여 가능한 가장 간단한 요청, 즉 단일 웹 서비스 메서드에 대한 호출, 단일 매개 변수(”Vogel”)를 전달하고 단일 부울 결과를 다시 가져오는 것을 보여 주며, Windows 응용 프로그램 기반 웹 서비스 소비자를 작성하는 것은 다른 Windows 응용 프로그램을 작성하는 것과 동일합니다. 응용 프로그램을 컴파일할 때 프록시(이미 수행한 프록시)를 만들고 이 프록시를 참조하기만 하면 됩니다. 다음은 웹 서비스를 사용하는 Windows 응용 프로그램입니다. 이 응용 프로그램은 웹 서비스 개체 (물론 프록시)를 만들고 SayHello를 호출하고 메서드를 추가합니다.

예를 들어 새로운 예제 중 하나인 SquareRoot를 클릭하고 이를 호출합니다: RESTful 웹 서비스를 호출하려는 경우 .NET Framework는 호출하는 데 사용할 수 있는 세 가지 개체인 HttpWebRequest, WebClient 및 HttpClient를 제공합니다. 각각의 비용과 이점이 있으므로 이 칼럼은 각 비용을 선택할 수 있는 이유에 대한 것입니다. HttpWebRequest의 장점은 웹 서비스로 전송되는 모든 것을 완벽하게 제어할 수 있다는 것입니다. 예를 들어 클라이언트가 iPhone으로 가장하도록 사용자 에이전트 문자열을 설정할 수 있습니다. 다음 코드는 토픽 맵 웹 서비스에서 GetTopicsByName 작업을 호출하고 응답을 처리하는 메서드를 보여 주며, 여기에 표시된 샘플 코드는 serviceclient.dll 어셈블리에서 제공하는 유틸리티를 사용합니다. 이 예제의 전체 코드는 예제/CS/웹 서비스/TopicsByNameSOAP에서 찾을 수 있습니다.

Kontakta oss!