2009-07-30 2 views
0

ColdFusion으로 작성된 레거시 응용 프로그램을 ASP.Net Web Forms 응용 프로그램으로 전환합니다. 하나의 요구 사항은 레거시 웹 서비스로 이동하는 것입니다. 주소는 변경 될 수 있지만 입력 및 응답의 형식은 동일해야합니다. 필자는 웹 서비스에 비교적 익숙하지 않지만 .Net 웹 서비스 (아마도 다른 것들)를위한 SOAP 및 JSON 출력 형식이 있다는 것을 알고 있습니다. 그러나 이들 중 어느 것도 실행 가능하지 않습니다.ASP.Net 웹 서비스에서 출력 형식을 제어하는 ​​방법

주어진 응답을 완벽하게 제어 할 수 있어야합니다. .ASPX 페이지를 사용하면 문자열에 레거시 휴지기를 작성하고 응답을 지운 다음 해당 문자열을 Response에 추가하고 Response.End를 호출합니다.

.ASMX와 비슷한 것이 있습니까?

더 똑똑한 방법으로 나머지 ASP.Net 웹 응용 프로그램의 코드 기반과 통합 할 수 있습니까?

답변

1

완전한 응답 제어가 필요한 경우 ASPX 페이지 사이클 드라마를 건너 뛰고 대신 .ASHX를 사용하십시오. 그것은 상당히 원시적이며 필요한 것일 수 있습니다.

+0

정확히 내가 알고 있어야하는 것, 출력을 제어하는 ​​방법. 감사 – Jared

0

필요한 형식에 따라 다릅니다.
ASMX 및 WCF는 선의의 SOAP 응답을 생성합니다.
올바르게 이해하면 "SOAP을 사용할 수 없습니다"라고하셨습니다. 홀수 형식이 필요한 경우 ASPX 페이지에서 설명한 방법대로 확실히 생성 할 수 있습니다. 프로그래밍 모델은 좋지는 않을 것이다.

0

사용중인 Visual Studio 버전은 무엇입니까? Visual Studio 2008 (SP1)을 사용하는 경우 ASMX 웹 서비스를 만들면 안됩니다. 마이크로 소프트는 이제 그 기술을 "유산"으로 간주하고 버그를 수정하지 않을 계획이다.

대신 WCF 서비스를 만들어야합니다. 출력 형식을 완전히 제어 할 수 있습니다.

1

WCF를 사용하여 SOAP 대신 일반 XML (POX)을 구현할 수 있습니다.

WebHttpBinding은이 용도로 사용할 바인딩입니다. "완전한 제어"가 기존 서비스를 명시 적 WCF 계약으로 리버스 엔지니어링 할 가능성을 무효로한다면 Stream to get complete control of the output을 사용할 수 있습니다.

관련 문제