728x90
300x250

[ASP.NET] 웹 서비스 구현 하기(Ajax) - Javascript로 호출 - Hello World

ASP.NET의 웹 서비스는 XML, SOAP 등 산업에서 사용하는 여러 통신 프로토콜을 통합한 하나의 프로토콜이라고 볼 수 있습니다.
자세한 설명은 Microsoft 홈페이지를 참고하시기 바랍니다.

웹 서비스는 웹에서 HTTP 요청을 수행하여 클라이언트 응용 프로그램에서 호출할 수 있는 웹 서버의 구성 요소입니다. ASP.NET을 사용하면 사용자 지정 웹 서비스를 만들거나, 기본 제공 응용 프로그램 서비스를 사용하거나, 클라이언트 응용 프로그램에서 이러한 서비스를 호출할 수 있습니다. 다음 설명서 순서에 따라 살펴보면 관련 항목을 보다 쉽게 검색할 수 있습니다.

MSDN - ASP.NET 웹 서비스 中

참고 자료 : http://msdn.microsoft.com/ko-kr/library/t745kdsh.aspx


이 프로토콜을 활용하여 웹 서비스를 구현하는 방법에 대해서 실습해보겠습니다.

1. 구현 결과



2. 구현하기

1. 솔루션 구성하기



빈 ASPX 파일 하나 두고 웹 서비스를 하나 생성합니다.

2. WebService.ASMX의 Header라고 불리는 태그 보기



WebService1.asmx를 오른쪽 버튼을 열면 `태그 보기(K)`가 있습니다.
클릭합니다.



위와 같이 생겨 있음을 보실 수 있습니다.

(중요)
'Class' 항목은 네임스페이스와 클래스를 지정하는 중요한 것이므로 WebService1.asmx.cs 파일에서 설정할 때 같게 해주어야 합니다.

3. ASMX.CS 파일 보기
보통 WebService1.asmx를 더블 클릭하면 보실 수 있습니다.

4. 구현 하기

WebService1.asmx 파일


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Services;

namespace WebApplication1
{
    /// <summary>
    /// WebService1의 요약 설명입니다.
    /// </summary>
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // ASP.NET AJAX를 사용하여 스크립트에서 이 웹 서비스를 호출하려면 다음 줄의 주석 처리를 제거합니다.
    [System.Web.Script.Services.ScriptService]
    public class WebService1 : System.Web.Services.WebService
    {
        [WebMethod]
        public string HelloWorld()
        {
            return "Hello World";
        }
        [WebMethod]
        public string HelloWorld2(string s1)
        {
            return "Hello World" + s1;
        }
    }
}



Index.aspx 소스(CS 파일 아님)

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="WebApplication1.index" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
    <script language="javascript" type="text/javascript">
        function chHelloWorld() {
            WebApplication1.WebService1.HelloWorld(OnSuccess);
        }
        function chHelloWorld2() {
            WebApplication1.WebService1.HelloWorld2($get("txtName").value, OnSuccess);
        }
        function OnSuccess(result) {
            alert(result);
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <a href="#" onclick="chHelloWorld()">TEST</a>
        <br />
        <input name="txtName" id="txtName" type="text" />
        <a href="#" onclick="chHelloWorld2()">TEST</a>
    </div>
        <asp:ScriptManager runat="server">
            <Services>
                <asp:ServiceReference Path="~/WebService1.asmx" />
            </Services>
        </asp:ScriptManager>
    </form>
</body>
</html>

 

3. 참고자료(Reference) 
1. http://alexandershapovalov.com/how-to-call-wcf-services-from-javascript-jquery-and-aspnet-ajax-39/

반응형

+ Recent posts