1
我試圖用一個asp.net的Web API應用程序來處理成批SendGrid事件,我已經因路碰上的絆腳石SendGrid處理的內容類型sendgrid事件它發送的帖子的標題。處理批量使用asp.net網頁API
從他們documentation:
成批事件柱具有應用/ JSON, 的內容類型報頭和每行包含正好一個JSON串,與代表一個事件的每一行 。請注意,目前POST標頭 將此帖定義爲application/json,但它不是;每行都是 有效的JSON字符串,但整個POST正文不是。
所以,對於一個控制器:
public class SendGridController : ApiController
{
// POST api/values
public void Post([FromBody]string value)
{
// do something with value
}
}
製作後,以它作爲SendGrid並會導致「價值」被空。
string URI = "http://localhost:3018/api/sendgrid/";
string myParameters =
@"={""email"":""[email protected]"",""timestamp"":1322000095,""user_id"":""6"",""event"":""bounced""}
{""email"":""[email protected]"",""timestamp"":1322000096,""user_id"":""9"",""event"":""bounced""}";
using (var wc = new System.Net.WebClient())
{
wc.Headers[System.Net.HttpRequestHeader.ContentType] = "application/json"; // I work fine if "application/x-www-form-urlencoded" is used.
wc.UploadString(URI, myParameters);
}
如果我改變內容類型我的客戶爲例,「應用程序/ x-WWW的形式,進行了urlencoded」,一切正常。
有一個簡單的辦法,我來覆蓋這個約定,這樣我就可以搞定sendgrid提供在我的控制器方法的字符串格式錯誤的「JSON」?
這不是一個回答你的問題,但如果你拍電子郵件至[email protected],我們可以ADDD您的測試版有效的JSON數據。 – Swift 2013-04-23 17:04:37