Возврат XML из веб-метода - PullRequest
0 голосов
/ 30 июля 2011

Я использую ajax PageMethod для вызова веб-метода asp.net. Оттуда я пытаюсь передать много XML обратно в функцию обратного вызова javascript.

В настоящее время я просто конвертирую XML в строку и передаю его в этом формате. Но кажется, что если строка слишком длинная, это вызывает ошибку.

Вот VB:

<System.Web.Services.WebMethod()> _
Public Shared Function getXML() As String
   Dim strXML
   strXML=getLoadsOfXML().InnerXml;
   Return strXML
End Function

Вот JavaScript:

function loadGrid(){
    PageMethods.getXML(myCallback);
} 

//This function doesn't get called if strXML is too long
function myCallback(strXML){
    useXML(strXML);
}

Вот ошибка:

Ошибка времени выполнения Microsoft JScript: Sys.Net.WebServiceFailedException: Сбой метода сервера 'getXML' со следующей ошибкой: System.InvalidOperationException-- Ошибка во время сериализации или десериализация с использованием JSON JavaScriptSerializer. Длина Строка превышает значение, установленное в свойстве maxJsonLength.

Итак, мой вопрос: есть ли лучший способ передачи XML из VB в javascript или способ, позволяющий передавать большие строки без ошибок?

1 Ответ

1 голос
/ 30 июля 2011

Этот вопрос кажется тем, что вы хотите, но в соответствии с ответом значение по умолчанию составляет 4 МБ. Я бы посмотрел, если бы вы действительно хотели бы вернуть так много данных клиенту (просто представьте, что кто-то использует очень медленное интернет-соединение).

...