2009-07-10 3 views
1

저는 문자 메시지를 통해 사람들의 정보를 수신 할 수 있도록 사이트를 구성하고 있습니다. 그것이 작동하는 방식은 숫자 텍스트이며, 서비스는 지정한 URL에 HTTP POST를 보냅니다. .asmx 파일은 .aspx 파일보다 더 낫다고 들었습니다. 전체 파일 수명주기를 거치지 않기 때문입니다. 그러나 .asmx 파일을 실행하는 방법을 실제로 이해하지 못하고 POST (www.mysite.com/webservice.asmx)와 함께 호출 할 수 있습니까? 내가 .aspx 파일로 작업하게 만들 수 있다는 것을 알고 있지만이 작업을 수행하기 전에 더 좋은 방법이 있는지 확인하고 싶습니다..asmx 파일 또는 .aspx 파일로 요청을 받습니까?

통찰력을 가져 주셔서 감사합니다.

답변

7

확장명을 ASP.NET의 모든 처리기에 매핑 할 수 있지만 기본적으로 .aspx은 페이지 처리기에 매핑되고 .asmx은 웹 서비스 처리기에 매핑됩니다. 난 당신이 일반적인 간단한 처리기를 나타내는 .ashx 찾고 있다고 생각합니다. 프로젝트에 하나를 추가 한 후에 IHttpHandler 인터페이스의 ProcessRequest 메소드를 구현하기 만하면됩니다 (새 항목 추가 -> 일반 핸들러).

.ashx은 요청을 수동으로 처리하려는 경우 잘 작동합니다. 웹 서비스 (예 : SOAP)를 제공하려는 경우에만 .asmx으로 가야합니다. 따라서 최상의 솔루션은 보내는 HTTP POST 요청의 형식에 따라 다릅니다. POST에서 자체 프로토콜을 사용하여 원시 데이터를 보내는 경우 .ashx으로 이동하십시오. 그렇지 않으면 표준 RPC (SOAP, XML-RPC, ...) 프로토콜을 사용하는 경우 .asmx 일 가능성이 큽니다.

+0

.ashx를 구현하는 방법은 무엇입니까? 나는 모른다 ... – Jason

+0

이 사이트는 좋은 개관을 가지고있다 : http://www.15seconds.com/Issue/020417.htm – rifferte

+0

Visual Studio 프로젝트에 "Generic Handler"를 추가한다. 템플릿을 만들면'context.Request'에서 읽은 코드를 작성하고 몇 가지 일을 시작합니다. –

0

Visual Studio에서 .asmx 파일을 만듭니다. 템플릿은 HelloWorld 메서드를 사용하여 만들어야합니다. 좋아하는 브라우저로 찾아보기를하면 다양한 방법을 사용하여 요청을 게시하는 방법에 대한 설명을 실제로 얻을 수 있습니다.

언급하지 않은 또 다른 유형이 있습니다 : ashx. 그러나, 귀하의 경우, webservice (asmx) 이해가 될 것입니다.

관련 문제