ASP.NET Web API多个帖子消息单个控制器或动作

时间:2014-04-24 10:46:32

标签: c# asp.net xml asp.net-web-api

所以我有以下问题:

我们有一个场景,第三方正在向我们的服务器发送帖子消息,我们无法控制它,他们想将所有内容发送到一个网址,所以我们无法对查询参数做任何事情,所以我的问题那么,是否有可能通过一个动作处理不同的帖子消息。实质上,帖子消息的内容将定义所述请求需要发生的事情。

发布消息1:

<xml>
    <content1> content </content1>
    <content2> content </content2>
</xml>

发布消息2:

<xml>
    <content1> content </content1>
    <content3> content </content3>
</xml>

正如您所看到的,某些消息将具有类似的属性。

由于

2 个答案:

答案 0 :(得分:2)

您可以使用以下签名来接受任意XML内容,

public HttpResponseMessage Post([FromBody]XElement xmlbody) { 
    // Process the xmlbody 
    return new HttpResponseMessage(HttpStatusCode.Created); 
} 

我有关于此类原始媒体类型处理here的详细信息。

答案 1 :(得分:0)

有可能。 指定您的操作以使字符串输入参数。这样你就可以将整个消息作为字符串获取,而不用担心它的属性...... 但是,您需要在控制器中实现逻辑以区分消息。

[HttpPost]
public ActionResult MyActionForAllMessages(string message)
{
    //Your logic
}
相关问题