Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Какой URL для публикации WCF?

Автор вопроса: Maestro1024Ответов: 1

какой URL для публикации WCF?

Я создаю такой метод VS 2008, WCF

[WebMethod]
public string TestMethod(string param)
{
    return "param:" + param;
}

так что я иду к

http://localhost:57000/Service1.asmx?op=TestMethod

Но как мне написать об этом?

На тестовой странице написано

HTTP POST

Ниже приведен образец запроса и ответа HTTP POST. Показанные заполнители необходимо заменить фактическими значениями.

POST /Service1.asmx/TestMethod HTTP / 1.1 Хост: localhost Content-Type: application / x-www-form-urlencoded Content-Length: length

param = строка

HTTP / 1.1 200 ОК Content-Type: text / xml; charset = utf-8 Content-Length: length

нить

Я ожидал, что смогу ввести URL-адрес, например, http://localhost:57000/Service1.asmx?op=TestMethod?param=teststring Но это возвращает

Метод TestMethod? Param = teststring не найден в службе Service1.

Какой URL-адрес использовать для передачи параметра в wcf, или это невозможно, или мне нужно сделать что-то еще, чтобы он работал

urlwcfvisual-studio-2008

Ответы

Ответ 1 · рейтинг 1 · Darrel Miller

Я не могу ответить на ваш конкретный вопрос, но понимаете ли вы, что "WebMethod" - это атрибут из библиотеки .Net 1.1. Мне пришлось поискать это в документации, потому что я никогда раньше этого не видел. Это определенно не WCF.

Из сообщения об ошибке, которое вы получаете, вам нужно поместить параметр в тело POST и установить тип контента на application / x-www-form-urlencoded. Для этого вам понадобится такой инструмент, как fiddler.

Вам действительно стоит изучить некоторые из новых библиотек для работы с веб-сервисами, поскольку то, что вы используете, ДЕЙСТВИТЕЛЬНО старое. Выполните поиск по атрибутам WebGet WebInvoke, чтобы найти новые возможности веб-службы HTTP в WCF.

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы