Wykonuję projekt Asp.Net MVC 4 i szukam wewnętrznego żądania (takiego jak proxy) do naszej usługi APi.Tworzenie żądania asynchronicznego HttpClient z danymi z FormCollection
Tak właśnie wygląda metoda indeksu w moim kontrolerze. Utknąłem w części PostAsync.
[HttpPost]
public async Task<ActionResult> Index(FormCollection body){
HttpClient httpClient = new HttpClient();
httpClient.BaseAddress = new Uri("http://myapi.com");
// posts to http://myapi.com/users
var response = await httpClient.PostAsync("users", body);
if(response.isSuccessStatusCode) return Json(new {
status = true,
url = response.Content.Url
});
}
Chcę przekazać moje "application/x-form-urlencoded" "ciało" treści do sposobu PostAsync POST. Jednak otrzymuję komunikat o błędzie "treść nie jest typu HttpContent".
Nie mogę przesłać ani przekonwertować. Co teraz?
Daj mi znać, co tu robię nieprawidłowo.
Erik
'FormCollection' i 'HttpContent' są całkowicie różne typy. Dlaczego miałbyś oczekiwać, że twój kod będzie działał (z lub bez obsady)? Trzeba tylko utworzyć nową "HttpContent", opartą na danych w 'FormCollection'. – svick
Dobra, próbuję zilustrować to, czego potrzebuję powyżej. Szukam więcej przejścia niż prostej odpowiedzi. @ Sick, czy masz przykłady tworzenia nowej HttpContent na podstawie zestawu danych FormCollection? – Erik5388