Ich kann nicht für das Leben von mir bekommen dies zu arbeiten. Ich halte 404.POSTing zu WebApi2 von C#
Hier ist der WebApi2 Code bekommen:
[HttpPost]
public IHttpActionResult Post(string testString)
{
if(!string.IsNullOrEmpty(testString))
{
return Ok(testString);
}
else
{
return BadRequest();
}
}
Hier ist der Code 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)
{
}
}
}
ich einen einfachen String an den Webdienst nur zu stellen. Das sollte tot einfach sein, und es gibt mir eine Migräne, lol. Ich habe alles versucht, was mir einfiel, und ich muss ein kleines Detail vermissen ...
Danke!
Versucht, dass, und ich bin der Haltepunkt in meinem Service, aber meine Parameter Zeichenfolge Wert ist "" (string.empty) .... Gibt es ein klares Beispiel POST eine einfache Zeichenfolge von C# zu Web-API-2 da draußen ? – John
Können Sie Ihren Code posten, der an den Webdienst gesendet wird? Ich frage mich, ob dein Problem tatsächlich so ist, wie du es tust. – grayimp
Es war - schließlich Fiddler heruntergezogen und das Problem gefunden - offenbar mit einem StreamWriter verursachte mein Problem. Ging zu einem UTF-8-codierten Byte [], benutzte einen normalen Stream.Write, und jetzt fließen die Daten wie es sollte! Danke, dass du mich in die richtige Richtung gelenkt hast :) – John