2016-04-05 17 views
0

私はjsonデータを投稿するWeb api2を開発しています。Web API 2 - 非同期投稿

このAPIのコードは次のとおりです。

public HttpResponseMessage Post(an_lavanderie an_lavanderie) 
{ 
    var response = new HttpResponseMessage(); 

    if (!ModelState.IsValid) 
    { 
     response = Request.CreateErrorResponse(HttpStatusCode.NotFound, new Exception("modello non valido")); 
    } 

    bool creato = _repoLavanderie.CreaLavanderia(an_lavanderie); 

    if (creato == true) 
    { 
     response = Request.CreateResponse(HttpStatusCode.OK); 
    } 
    else 
    { 
     response = Request.CreateErrorResponse(HttpStatusCode.NotFound, new Exception("Errore nella creazione")); 
    } 
    return response; 
} 

このコードは正しくDBに書き込みます。 データをポストするために私のコードはこれです:

var risultato = PostDataAsync(); 

and the function is 

var lav1 = new Lavanderia() 
{ 
    rag_soc = "Ragione Sociale", 
    rag_soc2 = "Ragione sociale2", 
    indirizzo = "Via Crispi 27", 
    citta = "Ovada", 
    provincia = "AL", 
    isAttiva = "N", 
    portalkey = "sample string 1", 
    isPortalVisibile = "S", 
    cap = "15057" 

}; 

using (var client = new HttpClient()) 
{ 
    client.BaseAddress = new Uri("http://localhost:56040/"); 
    client.DefaultRequestHeaders.Accept.Clear(); 
    client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 

    var response = await client.PostAsJsonAsync("api/CreaLavanderia", lav1); 
    if (response.StatusCode == System.Net.HttpStatusCode.OK) 
    { 
     MessageBox.Show("Crezione effettuata correttamente"); 
    } 
    else 
    { 
     MessageBox.Show("Creazione non effettuata"); 
    } 
} 
return ""; 

ポスト操作はOKですが、待っていたときに発生しません。 webapiからの返信メッセージが正しくない可能性がありますか? どこに問題がありますか?

ありがとうございました。

+0

ブラウザの開発者ツールでPOSTに従うと、どのような結果が得られますか? – leanne

答えて

0

あなたはawaitを使用しており、発砲していないと言っているので、メソッドにキーワードasyncが設定されていることを確認してください。

+0

こんにちは、PostDataAsync()は、公開非同期タスク PostDataAsync()です。 PostAsJsonAsync()はWeb APIを正しく呼び出します。 – dotnettortona

関連する問題