>  기사  >  백엔드 개발  >  XML 웹 서비스 그래픽 코드 예제에 대한 자세한 소개

XML 웹 서비스 그래픽 코드 예제에 대한 자세한 소개

黄舟
黄舟원래의
2017-03-09 17:03:051570검색

처음으로 알아보는 XML 웹 서비스 빠르게 시작하고 싶은 분들은 생성 및 호출 방법을 빠르게 이해하고 싶을 수도 있습니다. 이 기사에서는 간단한 예를 사용하여 Visual Studio 2008을 사용하여 웹 서비스를 생성하는 방법과 이를 호출하는 방법을 설명합니다. 예제의 웹 서비스는 클라이언트 프로그램의 요청에 따라 이미지를 반환합니다.

1.  생성웹 서비스프로젝트

VS2008을 열고 열린 새 프로젝트 대화 상자에서 파일/새 프로젝트 메뉴 항목을 선택합니다. , Visual C# -> 웹 -> ASP.NET 웹 서비스 애플리케이션을 선택한 다음 프로젝트 이름 (이름)과 저장 위치 (위치) 및 솔루션 이름 (솔루션 이름)을 입력한 후 "확인"을 클릭하여 프로젝트를 생성합니다. 이 예에서는 AnnotationWebService를 프로젝트 및 솔루션 이름으로 사용합니다(그림 1 참조).

XML Web Service示例(图1)

사진 1: 새 프로젝트대화

2. 웹 서비스 추가

VS2008솔루션 탐색기에서 를 클릭합니다. AnnotationWebService 항목에서 Project/Add new item 메뉴 항목을 선택하고, 열린 새 항목 추가 대화 상자에서 웹/웹 서비스를 차례로 선택합니다. , 웹 서비스 (이름)의 이름을 입력하고 "추가"를 클릭하여 웹 서비스를 추가합니다. 이 예에서는 Web Service의 이름으로 ImageService를 사용합니다(그림 2 참조).

XML Web Service示例(图2)

사진 2:새 항목 추가대화상자

이후 솔루션 탐색기에 해당 프로젝트 디렉터리가 표시됩니다(그림 3 참조). (참고: 프로젝트 생성 시 시스템은 기본적으로 Service1이라는 이름의 웹 서비스를 추가합니다. 마우스 오른쪽 버튼 클릭에서 삭제 항목을 클릭할 수 있습니다. 메뉴에서 삭제하세요.

사진

3

: 솔루션 탐색기XML Web Service示例(图3)

3. 

인코딩 웹 서비스

ImageService.asmx를 마우스 오른쪽 버튼으로 클릭하고 마크업 보기를 선택하여 이 파일을 열면 다음 줄을 볼 수 있습니다.

<%@ WebService Language="C#" CodeBehind="ImageService.asmx.cs" Class="AnnotationWebService.ImageService" %>

ImageService의 코드가 ImageService.asmx.cs 파일. ImageService.asmx를 마우스 오른쪽 버튼으로 클릭하고 코드 보기를 선택한 다음 ImageService.asmx.cs 파일을 열고 서비스 코드를 추가합니다. 주어진 파일 이름을 기반으로 이미지를 읽고 이를 클라이언트에 반환하는 GetImage 메서드를 작성합니다(아래 코드 참조).


아아앙

4. >가상 디렉터리 추가(Virtual Directory)

IIS 콘솔 프로그램을 열고 기본 웹 사이트를 마우스 오른쪽 버튼으로 클릭한 다음 새/가상 디렉터리 추가를 선택합니다. 메뉴 항목에서 열린 가상 디렉터리 캡션 마법사 대화 상자에 가상 디렉터리 별칭 (별칭)을 입력합니다. 이 예에서는 AnnotationWebService를 입력하고 "다음 "을 클릭한 후 ImageService.asmx가 있는 디렉터리를 선택하고 "마침"이 나올 때까지 "다음"을 클릭합니다. (참고: 위 설명은 XP SP3 환경 기준입니다.)

5.  웹 서비스용 프록시 만들기

VS2008에서 Windows 애플리케이션 솔루션 (.sln)을 엽니다. 이 예에서는 솔루션을 엽니다. AnnotationApp이라고 합니다.웹 서비스를 호출하려는 프로젝트를 마우스 오른쪽 버튼으로 클릭하고(예를 들어 이 예에서는 DataLib 사용을 선택함) 웹 참조 추가를 선택합니다. 메뉴 항목(추가된 적이 없는 경우 웹 참조를 통과한 후 웹 참조 추가 메뉴 항목이 표시되지 않을 수 있습니다. 먼저 서비스 참조 추가 메뉴 항목을 클릭한 후 팝업 추가 서비스 참조 대화 상자에서 "고급"을 클릭한 후 팝업 메뉴에서 "웹 참조 추가"를 클릭합니다. 팝업 서비스 참조 설정 대화 상자) 팝업으로 나타나는 웹 참조 추가 대화 상자에 웹 서비스의 URL을 입력합니다. 이 예에서는

http://localhost/AnnotationWebService/ImageService.asmx

"이동"을 클릭하면 아래 웹페이지ImageService에 표시됩니다. 웹 참조 이름편집 상자에 Web에서 참조하는 이름을 입력합니다. ImageService라는 이름을 다시 사용하지 않으려면 여기에 ImageWebService를 입력합니다. 그림4)을 참조한 다음 "참조 추가"를 클릭하여 참조를 추가하세요.

XML Web Service示例(图4)

사진 4: 웹 참조 추가대화상자

이렇게 하면 솔루션 탐색기웹 참조가 추가됩니다(그림 5 참조).

XML Web Service示例(图5)

그림 5: 웹 참조 추가

추가된 참고자료는 이미지입니다 ImageService와 동일한 이름의 클래스를 포함하는 Service의 프록시 코드는 System.Web.Services.Protocols.SoapHttpClientProtocol에서 파생됩니다. 이러한 방식으로 클라이언트 코드는 자체 Assembly에서 메서드를 호출하는 것처럼 ImageServiceGetImage 메서드를 호출할 수 있습니다.

6.       客户程序调用Web Service

 

在客户程序中需要调取图像的地方增加如下代码(注:代码中的Image类不是.Net Framework类库中的Image类,是客户程序中的一个类):

 

    ImageService imageService = new ImageService();
            Bitmap bitmap;
            try
            {
                byte[] image = imageService.GetImage("half-bred panthers.jpg");
                MemoryStream memoryStream = new MemoryStream(image);
                bitmap = new Bitmap(memoryStream);
                _image = new Image(_viewportTransformer, bitmap);
            }
            catch (WebException e)
            {
                // Exception handling
            }

 

然后,可以将图像显示出来。

 

7.运行客户程序来测试Web Service调用

 

编译运行客户程序,Web Service被成功调用并返回所调用的图像(见图6)。

 

XML Web Service示例(图6)

그림 6: 실행 결과


위 내용은 XML 웹 서비스 그래픽 코드 예제에 대한 자세한 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.