Http发布到带有未命名参数的asmx

时间:2009-09-22 18:28:31

标签: c# web-services asmx

我有一个像这样的网络方法:

    [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 个答案:

答案 0 :(得分:3)

这是HTTP POST协议的问题,而不是ASP.NET问题。 POST主体的格式必须是“variable = value; variable2 = value2 ...”

答案 1 :(得分:0)

只是为了重申这个问题。我有一个类似的问题,第三方工具发布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)

但实际上这更加丑陋,而且这个简单的例子比这个简单的例子复杂得多