0
私の人生にとっては、これを動作させることはできません。私は404C#からWebApi2にポストする
ここWebApi2コードです得続ける:
[HttpPost]
public IHttpActionResult Post(string testString)
{
if(!string.IsNullOrEmpty(testString))
{
return Ok(testString);
}
else
{
return BadRequest();
}
}
はここでWebClientのコードです:
public async Task PostingToWebServiceShouldWork()
{
var apiEndPoint = new Uri(String.Format("{0}/Paging", ConfigurationManager.AppSettings["ApiEndpoint"].ToString()));
var apiRoot = new Uri(apiEndPoint.GetLeftPart(UriPartial.Authority));
var apiCall = apiEndPoint.PathAndQuery.Substring(1, apiEndPoint.PathAndQuery.Length - 1);
using (var client = new HttpClient(new HttpClientHandler() { UseDefaultCredentials = true }))
{
client.BaseAddress = apiRoot;
client.DefaultRequestHeaders.Accept.Clear();
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpContent content = new StringContent("testSTring");
HttpResponseMessage response = await client.PostAsync(apiCall, content);
if(response.IsSuccessStatusCode)
{
}
}
}
私はちょうどWebサービスへの単純な文字列を投稿したいです。これは死んだ単純なものでなければならず、それは私に片頭痛、笑を与えている。私は考えることができるすべてを試してきましたが、私はいくつかの小さな詳細を欠落している必要があります...
ありがとう!
私のサービスでブレークポイントを叩いてみましたが、パラメータ文字列の値は ""(string.empty)です。そこから、単純な文字列をC#からWeb api2にPOSTする? – John
Webサービスに投稿するコードを投稿できますか?私はあなたの問題が実際に何らかの形でそれをやっているかどうか疑問に思っています。 – grayimp
これは、最終的にFiddlerをプルダウンし、問題を発見しました - 明らかにStreamWriterを使用していることが原因です。 UTF-8でエンコードされたバイト[]に行き、通常のStream.Writeを使用しました。データが流れるはずです。正しい方向に私を指してくれてありがとう:) – John