Это не проблема к возврат JSON от сервисов ASMX в ASP.NET 2.0 . Вам просто нужны установленные Расширения Ajax ASP.NET.
Действительно, несомненно, добавят художественное оформление [ScriptService] к Вашему веб-сервису. Это - то, что дает серверной части команду платформы Ajax ASP.NET возвращать JSON для правильно сформированного запроса.
кроме того, необходимо будет отбросить ".d" от "msg.d" в моем примере при использовании его с 2,0. ".d" является средством защиты, которое шло 3.5 .
Необходимо украсить веб-метод следующим:
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
у Вас есть остальные право:)
[еще 114]
информация в Encosia и РЕДАКТИРОВАНИЕ Блога
Andrew Roland: Как отмечено ниже этого.NET 3.5 только (я не знал об этом, моем плохом).
Вы, вероятно, ничего не можете сделать кроме XML или двоичной сериализации в.NET 2.0. Если Вы не используете автоматически сгенерированную веб-ссылку, тогда не беспокоятся ASMX. Просто используйте ASPX или ASHX вместо этого.
Можно использовать библиотека Jayrock Быстрый запуск для asp.net
, Это позволяет Вам писать http обработчик для возврата Вас json.
<%@ WebHandler Class="JayrockWeb.HelloWorld" %>
namespace JayrockWeb
{
using System;
using System.Web;
using Jayrock.Json;
using Jayrock.JsonRpc;
using Jayrock.JsonRpc.Web;
public class HelloWorld : JsonRpcHandler
{
[ JsonRpcMethod("greetings") ]
public string Greetings()
{
return "Welcome to Jayrock!";
}
}
}
Я не могу быть на 100% корректным на этом, но я уверен, что .net веб-сервисы являются базирующимся XML/SOAP.
необходимо было бы переопределить поведение по умолчанию веб-сервиса. Я не совсем уверен, что это даже было бы возможно.
я знаю, что это не будет самым полезным ответом, но может получить Вас, шел в правильном направлении.