C# 异步API请求新建

C# 异步API请求新建,c#,asp.net,api,webforms,C#,Asp.net,Api,Webforms,我正在尝试以ASP.NET web表单进行API调用。请求在控制台中可以正常工作,但异步请求超时,无法工作。请告知 控制台应用程序代码: using System; using System.Collections.Generic; using System.Text; using Newegg.Marketplace.SDK; using Newegg.Marketplace.SDK.Base; using Newegg.Marketplace.SDK.DataFeed; using New

我正在尝试以ASP.NET web表单进行API调用。请求在控制台中可以正常工作,但异步请求超时,无法工作。请告知

控制台应用程序代码:

using System;
using System.Collections.Generic;
using System.Text;

using Newegg.Marketplace.SDK;
using Newegg.Marketplace.SDK.Base;
using Newegg.Marketplace.SDK.DataFeed;
using Newegg.Marketplace.SDK.DataFeed.Model;
using Newegg.Marketplace.SDK.Item;
using Newegg.Marketplace.SDK.Item.Model;
using Newegg.Marketplace.SDK.Order;
using Newegg.Marketplace.SDK.Order.Model;
using Newegg.Marketplace.SDK.Other;
using Newegg.Marketplace.SDK.Other.Model;
using Newegg.Marketplace.SDK.Report.Model;
using Newegg.Marketplace.SDK.RMA;
using Newegg.Marketplace.SDK.RMA.Model;
using Newegg.Marketplace.SDK.Seller;
using Newegg.Marketplace.SDK.Seller.Model;
using Newegg.Marketplace.SDK.Shipping.Model;

namespace example
{
    public class Demo
    {
        private OrderCall ordercall;
        private ItemCall itemCall;
        private SellerCall sellerCall;
        private DatafeedCall datafeedCall;
        private RMACall rmaCall;
        private ShippingCall shippingCall;
        private ReportCall reportCall;
        private OtherCall otherCall;

        public Demo()
        {
            //Construct an APIConfig with SellerID,  APIKey(Authorization) and SecretKey.
            APIConfig config = new APIConfig("****", "********************************", "********-****-****-****-************");
            // or load the config file to get it.
            //APIConfig config = APIConfig.FromJsonFile("setting.json");

            //Create a APIClient with the config
            APIClient client = new APIClient(config);

            //Create the Api Call object with he client.
            ordercall = new OrderCall(client);
            itemCall = new ItemCall(client);
            sellerCall = new SellerCall(client);
            datafeedCall = new DatafeedCall(client);
            rmaCall = new RMACall(client);
            shippingCall = new ShippingCall(client);
            reportCall = new ReportCall(client);
            otherCall = new OtherCall(client);
        }


        public void GetOrderStatus()
        {
            Console.WriteLine("GetOrderStatus");

            // Send your request and get response
            var orderstatus = ordercall.GetOrderStatus("105137040").Result;

            // Use the data pre you business
            Console.WriteLine(string.Format("There order status is {0}.", orderstatus.OrderStatusName));
        }
}
我的ASP.NET代码

public partial class HomePage : System.Web.UI.Page
    {
        private OrderCall orderCall;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                RegisterAsyncTask(new PageAsyncTask(LoadSomeData));
            }

        }

        public async Task LoadSomeData()
        {
            string path = @"C:\Users\*****\source\repos\Orders\Settings\setting.json";

          
            APIConfig config = APIConfig.FromJsonFile(path);
            APIClient client = new APIClient(config);

            orderCall = new OrderCall(client);

            try
            {
                var orderstatus = await orderCall.GetOrderStatus("105137040");
                Debug.Write(orderstatus.OrderStatusName);
                Connect.BackColor = Color.Green;
            }
            catch (Exception ex)
            {
                Connect.BackColor = Color.Red;
                Debug.WriteLine(ex.Message);
            }

        }

    }
       
}

使用我的代码后,页面冻结并最终超时。返回的对象也为null或返回错误。

您是否在.aspx文件的
页面
指令中设置了
Async=“true”
?@devNull是我做的如果devNull的建议无效,请尝试将您的wait orderCall.GetOrderStatus(“105137040”)更改为wait orderCall.GetOrderStatus(“105137040”)。configurewait(false)“Kuroiyatsu,我试过了。出于某种原因,它抛出一个无效值异常。我也尝试过加载,它说根级别的数据有问题。您是否在.aspx文件的
页面
指令中设置了
Async=“true”
?@devNull是我做的如果devNull的建议不起作用,尝试将您的wait orderCall.GetOrderStatus(“105137040”)更改为wait orderCall.GetOrderStatus(“105137040”).配置等待(错误)。@Kuroiyatsu我试过了。出于某种原因,它抛出一个无效值异常。我也尝试过加载,它说根级别的数据有问题。