c# - 状态代码 500,ReasonPhrase :'Internal Server Error',版本 : 1. 1,内容 : System.Net.Http.StreamContent

标签 c# web-services xamarin.forms

我正在使用 xamarin 表单创建一个移动应用程序。但是,我得到以下异常:

Status code 500, ReasonPhrase:'Internal Server Error', Version: 1.1, Content: 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");
}

最佳答案

错误出在您的网络服务上。您应该调试 Web 服务并解决那里的问题。

关于c# - 状态代码 500,ReasonPhrase :'Internal Server Error',版本 : 1. 1,内容 : System.Net.Http.StreamContent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40604532/

相关文章:

c# - 未构建 csproj 时抑制 AfterBuild 目标

web-services - curl 命令 - 无法加载客户端证书 -8018

xaml - Xamarin形式的伪条形音箱

Android 解析使用 < 和 > 而不是 "<"和 ">"的 XML

web-services - 谷歌结账 : Best way to handle cart editing and checkout confirmation

c# - 如何在 App Center 的 Xamarin.Forms 中使用设置环境变量

c# - VS2017 和 VS2019 的主要 Activity 区别

用于键盘布局和编译器警告的 C# P/Invoke

javascript - 从 WebAPI 获取 PDF 并从 UI 下载,但数据已损坏

c# - 如何检测探查器是否正在运行?