私はAsp.Net MVC 4プロジェクトを行っていて、私たちのAPIサービスへの内部リクエスト(プロキシなど)を探しています。FormCollectionからのデータを使用して非同期HttpClientポストリクエストを作成する
これは、私のコントローラでのインデックスメソッドの外観です。私は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
});
}
"application/x-form-urlencoded" "body"コンテンツをPostAsync POSTメソッドに渡したいとします。しかし、 "body is not type HttpContent"というエラーが表示されます。
キャストまたは変換できません。今何?
私がここで間違っていることを教えてください。
エリック
'FormCollection'と' HttpContent'は完全に異なるタイプです。なぜあなたのコードが(キャストの有無に関わらず)動作すると期待しますか?あなたがする必要があるのは、 'FormCollection'のデータに基づいて新しい' HttpContent'を作成することです。 – svick
そうですね、上でやるべきことを説明しようとしています。私は簡単な答えよりも歩き回りを探しています。 @svick、FormCollectionのデータセットに基づいて新しいHttpContentを作成する例がありますか? – Erik5388