状态码500,ReasonPhrase:'内部服务器错误',版本:1.1,内容:System.Net.Http.StreamContent

状态码500,ReasonPhrase:'内部服务器错误',版本:1.1,内容:System.Net.Http.StreamContent

问题描述:

我正在使用xamarin表单创建移动应用程序。不过,我得到以下异常:状态码500,ReasonPhrase:'内部服务器错误',版本:1.1,内容:System.Net.Http.StreamContent

状态代码500,ReasonPhrase: '内部服务器错误',版本:1.1,内容:System.Net.Http.StreamContent,

虽然试图执行postAsync。我不知道它出错的地方。

下面是导致异常的代码:

private async void btnCheckout_OnClicked(object sender, EventArgs e) 
{ 
    ConstantCS constant = new ConstantCS(); 
    var client = new HttpClient(); 
    client.BaseAddress = new Uri(constant.URLBaseAddress); 
    //Store persive data locally 
    int MyOrdersID_ = int.Parse(Application.Current.Properties["MyOrdersID"].ToString()); 

    for (int i = 0; i < orderItemList.Count; i++) 
    { 
     //string postdataJson = JsonConvert.SerializeObject(new { UserID = nric.Text.Trim(), Password = pin.Text.Trim() }); 
     string postJson = JsonConvert.SerializeObject(new { orderID = MyOrdersID_, itemID = orderItemList[i].Item_Id, itemName = orderItemList[i].orderItem_Name, orderQty = orderItemList[i].orderItem_Quantity, itemRequest = orderItemList[i].orderItem_SpecialReq, specialRequest = orderItemList[i].orderItem_OtherReq , itemPrice = orderItemList[i].orderItem_IndividualPrice}); 
     var content = new StringContent(postJson, Encoding.UTF8, "application/json"); 
     //HttpResponseMessage orderItemResponse = await client.PostAsync("WebServices/Orders.svc/CreateOrderItems", content); 
     HttpResponseMessage orderItemResponse = new HttpResponseMessage(); 
     orderItemResponse = client.PostAsync("WebServices/Orders.svc/CreateOrderItems", content).Result; 

     if (orderItemResponse.IsSuccessStatusCode) 
     { 
      await DisplayAlert("Success", "Order item response = " + orderItemResponse.ToString(), "OK"); 
     } 
     else 
     { 
      await DisplayAlert("Failed", "Order item response = " + orderItemResponse.ToString(), "OK"); 
     } 

     //var result = await response.Content.ReadAsStringAsync(); 
    } 
    DateTime now = DateTime.Now; 
    string postOrderJson = JsonConvert.SerializeObject(new { custID = 1, orderDateTime = now, orderID = MyOrdersID_, orderTotalPrice = totalCost }); 
    var OrderContent = new StringContent(postOrderJson, Encoding.UTF8, "application/json"); 
    HttpResponseMessage orderResponse = await client.PostAsync("WebServices/Orders.svc/CreateOrder", OrderContent); 
    if (orderResponse.IsSuccessStatusCode) 
    { 
     await DisplayAlert("Success", "Order Response = " + orderResponse.ToString(), "OK"); 
    } 
    else 
    { 
     await DisplayAlert("Failed", "Order Response = " + orderResponse.ToString(), "OK"); 
    } 
    await Navigation.PushModalAsync(new MasterDetailPageFood()); 
    //Display an alert and then go back to the first page 
    await DisplayAlert("Thank you for your order", "Your Order will be made shortly", "OK"); 
} 
+1

看到它是一个HTTP 500错误我不认为这个错误是在你的代码中。 500意味着错误在服务器端。当然,这可能意味着你提供了一些导致这一点的非法值,这很难说。 –

+0

@GeraldVersluis谢谢我试着对这些值进行硬编码以检查我是否提供了非法值,但它仍然给我提供了相同的错误。 –

+0

但是,HTTP 500错误表示服务器端错误。因此,如果代码也由您维护,我会先去那里看看,或联系该代码的开发人员 –

的错误是在你的Web服务。您应该调试您的Web服务并解决那里的问题。