私は離れたクライアントからhttpを介してデータを送信する必要があることを挿入したいと思います。
私はPerformancesController
内部の私のpostPorformances()
implemntationがcorrrectであれば、それはクライアントからそれを呼び出す方法であればお願いしたいと思いますhttpClient
api/performances?date={0}
MVC 4 Web Api Post
で正しくgetPerformances()
を使用することができますか?ここで
は私の実装です:
public class PerformancesController : ApiController
{
// GET api/performances
public IEnumerable<Performance> getPerformances(DateTime date)
{
return DataProvider.Instance.getPerformances(date);
}
public HttpResponseMessage postPerformances(Performance p)
{
DataProvider.Instance.insertPerformance(p);
var response = Request.CreateResponse<Performance>(HttpStatusCode.Created, p);
return response;
}
}
public class Performance {
public int Id {get;set;}
public DateTime Date {get;set;}
public decimal Value {get;set;}
}
私はこの1つを試してみましたが、私は確信してノートだ:
private readonly HttpClient _client;
string request = String.Format("api/performances");
var jsonString = "{\"Date\":" + p.Date + ",\"Value\":" + p.Value + "}";
var httpContent = new StringContent(jsonString, Encoding.UTF8, "application/json");
var message = await _client.PutAsync(request, httpContent);
ap/performances呼び出しに時間がかかる場合は、呼び出しを行う前にclient.Timeoutを設定するとよいでしょう。 – BlackTigerX