我目前正在为pizzaria,C#和.NET构建web.api 4.6
我有一个C#客户机想要选择比萨饼从代码..比萨是在JSON。如何从C#httpclient调用web.api控制器上的HttpPut与.net 4.6
{"id":1,"Name":"Magariatha"}
我从一个以iis express托管的asp.net站点打电话,我没打通。 如果我从提琴手呼叫,该呼叫通过,而比萨饼被选中,可以得到有序;-)
我PizzaController样子:
public HttpResponseMessage Put(Pizza pizza)
{
string pizzaApi = "Api/Pizza/";
var handler = new WebRequestHandler() {
AllowAutoRedirect = false,
UseProxy = false };
using(var client = new HttpClient(handler)) {
client.BaseAdresse = new Uri("http://localhost:12345");
var media = new MediaTypeWithQualityHeaderValue("application/json");
client.DefaultRequestHeaders.Accept.Add(media);
// so far so good, but the trouble starts in the next line...
return client.PutAsJsonAsync(pizzaApi, pizza).
ContinueWith(x => x.Result.EnsureSuccessStatusCode)).Result;
} // end using
} // end put
看来,得到的东西放置在调用putasjson,在服务器被访问之前。但我想不出为什么。我得到的消息:
Exception thrown: 'System.ObjectDisposedException' in System.Net.Http.dll
我试着用提琴手和呼叫传递到服务器,但邮递员我得到了这个错误: “消息”:“该资源不支持请求实体的媒体类型'multipart/form-data'。“, ”ExceptionMessage“:”没有MediaTypeFormatter可用于从媒体类型为'multipart/form-data'的内容中读取'Scanner'类型的对象。“, – kfn