0
我正在使用发布canidate的MVC4 API。我得到一个内容类型:应用程序/ JSON时得到的错误我得到这个错误:'JsonNetFormatter'类型的媒体类型格式化程序不支持写入,因为它没有实现WriteToStreamAsync方法。没有实现WriteToStreamAsync方法
我确信我是!
public Task WriteToStreamAsync(Type type, object value, Stream stream, HttpContent content, TransportContext transportContext)
{
var task = Task.Factory.StartNew(() =>
{
var settings = new JsonSerializerSettings()
{
NullValueHandling = NullValueHandling.Ignore,
};
string json = JsonConvert.SerializeObject(value, Formatting.Indented,
new JsonConverter[1] { new IsoDateTimeConverter() });
byte[] buf = System.Text.Encoding.Default.GetBytes(json);
stream.Write(buf, 0, buf.Length);
stream.Flush();
});
return task;
}
我已经看到了重写此方法的例子,但我得到一个错误,有覆盖没有合适的方法。我猜这是一个版本的问题与System.Net.Http.Formatting.dll但我仔细检查过的版本,它看起来很不错:
// Type: System.Net.Http.Formatting.MediaTypeFormatter
// Assembly: System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
// Assembly location: C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Net.Http.Formatting.dll
是的。签名从测试版改为RC。所以你的问题解决了? – Aliostad
我不确定哪个是新界面。 “HttpContent”版本是将来使用的版本,对(不是“HttpContentHeaders”)? – Sebastian