2011-08-22 2 views

답변

2

실제로 .asmx 파일은 태그 파일이 아니라 마크 업을 포함하는 파일입니다. .asmx 파일 내에 전체 웹 서비스 구현을 포함하는 것은 완벽하게 합법적입니다. 코드 숨김 파일을 사용하는 것은 좋은 습관이지만 필수는 아닙니다. 하나 개 ASMX 파일이 예제를 구축

시도, 그것은 작동합니다

<%@ WebService Language="C#" Class="WebService1" %> 

using System.Web; 
using System.Web.Services; 

[WebService(Namespace = "http://tempuri.org/")] 
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] 
[System.ComponentModel.ToolboxItem(false)] 
public class WebService1 : WebService 
{ 

    [WebMethod] 
    public string HelloWorld() 
    { 
     return "Hello World"; 
    } 
} 

을하더라도 당신이 필요로하는이 경우 :

  • 마크 업이 .asmx 파일을 사용하여 서비스 클래스를 연결하는
  • 웹 응용 프로그램에서 웹 서비스 주소를 지정하는 .asmx 파일의 위치

편집 : 마지막 점에 대해 자세히 설명하면 다음과 같습니다.

모든 웹 서비스에는 기본적으로 클라이언트가 호출하는 끝점이 필요합니다. WCF 웹 서비스의 경우 일반적으로 web.config에서 끝점을 구성합니다. 끝점을 정의하는 ASP.NET 방법은 .asmx 파일을 웹 응용 프로그램 폴더 구조의 어딘가에 배치하는 것입니다. 웹 서비스가이 URI를 통해 호출되면 .asmx 파일의 WebService 특성은 IIS에 실제 웹 서비스 구현이 포함 된 클래스를 알립니다.

+0

감사합니다. 몰랐습니다. 이미 "WebService"클래스 속성이 있는데, 어떤 목적이'<% @ WebService %> '입니까? – tpower

+0

@tpower : 이에 대해 좀 더 구체적으로 설명하기 위해 몇 줄을 답에 추가했습니다. – Stephan