При отладке ajax вдруг стала происходить странная ошибка в коде вызова ScriptMethod-а отдельно выделенного ScriptService,
в частности я дебажил некоторый модуль .ascx, в котором происходит обращение к объекту-прокси, созданному на стороне клиента:
код на стороне клиента js:
при обращении происходил exception на стороне клиента вида:
The system cannot locate the resource specified;
который возникал уже при самом последнем обращении к ядру передачи собственно сообщения в теле калбека, а именно
где то в коде:
путем логического осмысления :) пришел к выводу что длина сообщения, передаваемого в scriptMethod была
значительно больше чем килобайт, указанный собственно говоря через атрибут UseHttpGet:
гораздо больше...:)) ну и соотвественно напрашивается вывод (чисто логически потому что более менее внятного сообщения об ошибке от ie я не смог получить, или просто не смог докопаться до самых недр) что xmlHttpRequest object просто не может совершить
такое обращение, путем перестановки на
т.е. мы разрещаем передачу сообщения только методом post, что значительно расширяет возможности самой передачи и снимает ограничение на длину сообщения, что собственно и лечит данную злокачественную опухоль... вылечена; :)
в частности я дебажил некоторый модуль .ascx, в котором происходит обращение к объекту-прокси, созданному на стороне клиента:
код на стороне клиента js:
Sys.Debug.fail('');
if (typeof(siStatuses) != "undefined" && siStatuses != null)
{
WS.Scripts.ScriptService.CheckStockImagesDownloading(siStatuses, OnCheckComplete, OnCheckFailed);
}
при обращении происходил exception на стороне клиента вида:
The system cannot locate the resource specified;
который возникал уже при самом последнем обращении к ядру передачи собственно сообщения в теле калбека, а именно
где то в коде:
Sys.Net.WebServiceProxy.invoke(servicePath, methodName, useGet, params, onSuccess, onFailure, userContext, this.get_timeout());
........
this._xmlHttpRequest.send(body);
путем логического осмысления :) пришел к выводу что длина сообщения, передаваемого в scriptMethod была
значительно больше чем килобайт, указанный собственно говоря через атрибут UseHttpGet:
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = true)]
гораздо больше...:)) ну и соотвественно напрашивается вывод (чисто логически потому что более менее внятного сообщения об ошибке от ie я не смог получить, или просто не смог докопаться до самых недр) что xmlHttpRequest object просто не может совершить
такое обращение, путем перестановки на
[ScriptMethod(ResponseFormat = ResponseFormat.Json, UseHttpGet = false)]
т.е. мы разрещаем передачу сообщения только методом post, что значительно расширяет возможности самой передачи и снимает ограничение на длину сообщения, что собственно и лечит данную злокачественную опухоль... вылечена; :)
Комментариев нет:
Отправить комментарий