【发布时间】:2015-06-03 00:16:11
【问题描述】:
我正在尝试在 ASP.NET Web API 中的 ApiController 上接收 POST 并将其添加到 Azure 队列。 我遇到的问题是,此时我不想将参数绑定到类的属性,而是将 JSON 作为字符串排队到 Azure 队列中,以便我可以获得一个工作角色来处理它自己的时间。
我正在使用 Fiddler 执行如下所示的 POST:
User-Agent: Fiddler
Host: localhost:50348
Content-Type: application/json
Content-Length: 34
使用此请求正文:
{"text":"pineapple","user":"fred"}
这是我的控制器(为了清楚起见,稍微简化了一点):
public class MessagesController : ApiController
{
// POST api/messages
public void Post([FromBody] Message message)
{
var storage = CloudStorageAccount.DevelopmentStorageAccount;
var queueClient = storage.CreateCloudQueueClient();
var queue = queueClient.GetQueueReference("messages");
if (queue.CreateIfNotExists())
{
Trace.WriteLine("Hello world for the first time");
}
var msg = new CloudQueueMessage(message.text);
queue.AddMessage(msg);
}
这是一个 Message 类,看起来像这样:
public class Message
{
public string user { get; set; }
public string text { get; set; }
}
这一切都很好,但我只想获取请求正文(即 JSON)而不绑定它,而是将整个内容作为字符串添加到 Azure 队列中。
有什么想法吗?是我遗漏了什么还是我的方法不对?
【问题讨论】:
-
您想发布
{"text":"pineapple","user":"fred"}而不仅仅是pineapple作为消息正文。我说的对吗? -
@GauravMantri 是的,没错,整个 JSON :)
标签: c# json azure asp.net-web-api azure-queues