2009-08-17 2 views
4

간단한 ASP.NET 웹 서비스가 있습니다. 그 결과로 json 문자열을 반환하고 싶습니다. 기본적으로 내 웹 서비스는 내 json 결과를 일부 XML로 래핑합니다.ASP.NET 웹 서비스가 XML 데이터를 반환하지 않게하려면 어떻게해야합니까?

예 :

<?xml version="1.0" encoding="utf-8"?> 
<string xmlns="http://webservice.streetadvisor.com/">{.... json result in here ... }</string> 

Booo.

  • 내 webservice NOT 일부 XML 반환 할 수있는 방법이 있습니까? 그냥 원시 결과로 내 결과를 쓸까요?
  • webservice에서 HTTP-StatusCode를 정의 할 수 있습니까? 예. 200, 201, 202, 404, 500, 등?
  • 응답 유형을 정의 할 수 있습니까? 예. application/json

건배!

대신 정상적인 웹 서비스의 .ASHX 핸들러를 작성하여 매우 쉽게 할 수

답변

3

-하지만 그 시점에서 당신의 클라이언트에서 오는 데이터를 해석, 특히 아무것도, 웹 서비스 주위의 인프라를 많이 잃을 SOAP이 제공하는 구조화 된 방식.

는 여기에 "원시"핸들러로 creating an RSS feed의 예이고, 여기에 more general tutorial을합니다. 특히 까다로운 것은 아닙니다. 만약 그 것이 당신에게 많은 도움이되지 않는다면, ashx에 대한 검색을하면 많은 조회수가 발생할 것입니다.

나는 그것이 비록 웹 서비스 프로젝트에서 수행하는 것이 얼마나 쉬운 지 모른다 - 나는 단지 직선 ASP.NET 웹 응용 프로그램 프로젝트에서 일을했습니다. "잘 작동"할 수도 있습니다. 나는 그것을 반환 할 JSON을 생성 (1 here 같이) .NET JSON 프레임 워크를 사용하여 다음

Response.Clear(); 
Response.ContentType = "text/javascript"; 

: 메신저 난 그냥 함께 .aspx 페이지를 사용하여 JSON을 반환하고자하는 경우에 경우

+0

나는이 대답 : 그럼 나는 GET 또는 POST 인수, 직접 쿼리 문자열이나 양식에 액세스해야 될 거라고 두려워? –

+0

그래, 그게 너에게 문제가 될 수 있니? SOAP와 같은 것을 정말로 입력으로 가지고 있습니까?하지만 출력과는 근본적으로 다른 것을 기대하십니까? 여기에 고객이 무엇입니까? –

+0

아니요. 문제가 아니다. 그냥 좀 더 배관 (이것은 내가 한 시간 전에 시작했다). 나는 RESTful 물건을 사용하고 ASP.NET MVC 프로젝트 유형을 사랑 해요. 그래서 나는 내가 유지하고있는 다른 프로젝트와 함께 거꾸로가는 것처럼 느껴집니다. 내 ashx 파일의 메서드에 RESTFUL URL을 바인딩하는 재 작성 규칙을 사용하고 있습니다. 입력은 querystring 또는 post params를 사용하는 간단한 HTTP-GET 또는 POST입니다. 출력 json. 클라이언트는 닫힌 단일 타사 소비자 대신 공용 인터 웹 공간에있는 사람입니다. –

2

.

+0

+1 jqueryUI의 자동 완성 작업을 간단하고 쉽게 –

0

당신은 단순히 이것은 나를 위해 일한

[WebMethod] 
[System.Web.Script.Services.ScriptMethod(ResponseFormat = System.Web.Script.Services.ResponseFormat.Json)] 

를 사용할 수 있습니다.

관련 문제