Http пост в asmx с неназванным параметром - PullRequest
1 голос
/ 22 сентября 2009

У меня есть такой веб-метод:

    [WebMethod]
    public string HelloWorld(string a)
    {
        return a;
    }

В инструкциях для публикации на моем asmx webmethod написано:

POST /Service1.asmx/HelloWorld HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
Content-Length: length

a=string

Однако я хочу принять это:

POST /Service1.asmx/HelloWorld HTTP/1.1
Host: localhost
Content-Type: application/x-www-form-urlencoded
Content-Length: length

string

Как я могу это сделать? Спасибо

Ответы [ 2 ]

3 голосов
/ 22 сентября 2009

Это больше проблема протокола HTTP POST, чем проблема ASP.NET. Формат тела POST должен быть «переменная = значение; переменная2 = значение2 ...»

0 голосов
/ 07 июня 2017

Просто чтобы переформулировать эту проблему. У меня похожая проблема, когда сторонний инструмент публикует объект json {a:1, b:2, c:3}

мой код .net выглядит как

public bool AcceptPush(ABCObject ObjectName)

Сторонний инструмент не публикует {ObjectName:{a:1, b:2, c:3}}, если бы он не создавал никаких проблем.

Вы можете кодировать .net следующим образом:

public bool AcceptPush(int a, int b, int c)

Но на самом деле это гораздо страшнее, и острый объект гораздо сложнее, чем этот простой пример

...