C# - 报告 Woocommerce.net 调用的进度

问题描述

我正在开发一个使用 Woocommerce.net 库进行 RESP API 调用的小型 C# 应用程序。我的目标是从我已经完成的在线商店中检索所有产品。但是,在检索产品时,我想最好用进度条显示用户进度。这是我用于检索产品的代码

RestAPI rest = new RestAPI("https://www.store.ca/wp-json/wc/v3/","key","key");
            WCObject wc = new WCObject(rest);

            //Get all products

            products = new List<Product>();
            Dictionary<string,string> dic1 = new Dictionary<string,string>();
            dic1.Add("per_page","100");
            int pageNumber1 = 1;
            dic1.Add("page",pageNumber1.ToString());

            bool endWhile1 = false;
            while (!endWhile1)
            {
                var productstemp = await wc.Product.GetAll(dic1);
                
                if (productstemp.Count > 0)
                {
                    products.AddRange(productstemp);
                    pageNumber1++;
                    dic1["page"] = pageNumber1.ToString();
                }
                else
                {
                    endWhile1 = true;
                }
            }

是否有任何方法可以报告此类通话的进度。我找不到与此相关的任何内容。我遇到了 IProgress<int>,但我相信在这种情况下这行不通。

有什么想法吗?

感谢任何帮助。

提前致谢。

解决方法

您“每页”阅读对象。 1.如果你能得到产品数量请先做(版本3有计数方法) 2. 进度步骤将是(页码 * 100 项),您可以在 addRange 后立即通知