Тестирование веб-метода (с браузером/Fiddler)

Я пытаюсь реализовать автозаполнение Jquery с помощью DevBridge(http://www.devbridge.com/projects/autocomplete/jquery/). Это делает вызов AJAX, и в их примере используется веб-служба .NET. Я планирую использовать веб-метод.

Я создал страницу с именем WebMethodTest.aspx и добавил в нее простой веб-метод. Код выглядит следующим образом:

using System;
using System.Web.Services;

public partial class WebMethodsTest : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e) { }

    [WebMethod]
    public static string Test()
    {
        return "blah blah blah";
    }
}

Я ничего не добавлял в web.config и не делал никаких других настроек.

Вызов URL через браузер и скрипт (http://myurl/WebMethodTest.aspx/Test) возвращает ничего.

Я предполагаю, что могу сделать обычный HTTP-запрос, и он вернет строку «бла-бла-бла».

Обратите внимание: я провел обширный поиск, чтобы увидеть, есть ли что-то очевидное, что я пропустил. Многочисленные подобные вопросы есть здесь, на SO и в других местах, но многие из них вращаются вокруг неправильного формата JSON и т. Д. Я думаю, что мой веб-метод просто не вызывается.

So:

  1. Является ли обычный HTTP-запрос допустимым способом проверки веб-метода? Если нет, то как?
  2. Можно ли протестировать веб-метод без клиентской части AJAX?

NB: я вижу много «решений», в которых упоминается включение веб-методов в ScriptManager — я думал, что это актуально только при использовании ASP.NET AJAX (а это не так).

То немногое, что у меня осталось, становится все тоньше. Приветствуются все предложения :)

ta

EDIT Я считаю, что URL-адрес, который я тестировал (сторонний, который действительно вернул строку JSON), мог быть чем-то другим, а не веб-методом. Я предполагал, что мой тоже должен возвращать ответ браузеру — это было плохое предположение.

Как указал @mgnoonan, Возможно ли выполнять запросы JSON с помощью построителя запросов Fiddler?, имеет правильный синтаксис для тестирования с помощью Fiddler.

Я использовал:

POST http://xxx/WebMethods/WebMethodsTest.aspx/Test

и

User-Agent: Fiddler
Host: xxx
Content-Type: application/json; charset=utf-8
Content-Length: 0

Это вернуло ожидаемую строку. :)

PS есть ли способ пометить комментарий как ответ?


person Jag    schedule 25.04.2012    source источник
comment
Вы делаете POST или GET? Я считаю, что для WebMethods требуется POST.   -  person mgnoonan    schedule 25.04.2012
comment
Изменив его на POST в Fiddler, я получил 411. Я добавил Transfer-Encoding: chunked, и он вернул 200, но без содержимого (длина содержимого: 0). :(   -  person Jag    schedule 25.04.2012
comment
Возможно, это может помочь: stackoverflow.com/questions/2589174/   -  person mgnoonan    schedule 25.04.2012
comment
Это сделало трюк! Я думал о поиске тестирования со скрипачом, когда писал. Хотя этот не нашел.   -  person Jag    schedule 25.04.2012