JSON WebMethod не работает в Sitefinity - PullRequest
2 голосов
/ 14 апреля 2009

Я пытаюсь вызвать через ajax WebMethod, размещенный на традиционной странице кода для ASP.Net WebForm. Вот код для WebMethod:

[WebMethod]
public static object States()
{
    StateProvince[] states = new StateProvince[] { };
    ApplicationServiceClient proxy = null;

    try
    {
        proxy = new ApplicationServiceClient();
        states = proxy.GetStateProvinces();
    }
    finally
    {
        CloseServiceProxy(proxy);
    }
    return states;
}

WebMethod прекрасно работает в моей автономной среде разработки или при нормальном развертывании в IIS, но при развертывании страницы aspx в Sitefinity я получаю следующее исключение, когда она вызывается:

Ошибка сервера в приложении '/'.
Неизвестный веб-метод States.aspx.
Имя параметра: methodName

Я не уверен, что Sitefinity перехватывает URL-адрес и отправляет в ожидании «.aspx» или что здесь происходит.

Вот вызов jquery, который вызывает веб-метод:

$.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: "Regions.aspx/States",
        data: "{}",
        success: function(data) {
            // implementation omitted
        },
        error: function(xhr, msg) {
            alert(xhr.responseText);
        }
    });

Я могу повторить проблему, отправив запрос вручную с помощью Fiddler.

Опять же, это прекрасно работает везде, кроме случаев, когда они развернуты в Sitefinity. У кого-нибудь есть мысли?

Ответы [ 2 ]

0 голосов
/ 16 августа 2009

использовать dataType: "json",

0 голосов
/ 03 августа 2009

Какая версия .NET работает на Sitefinity? Методы страницы недавно добавлены.

...