c# - 我将超过 900 个数据集行的数据发送到 web api 导致超时。使用 Asp.net MVC
问题描述
我想连续发送它除以 100 行。我没有被截肢的知识。C# 这是我用来调用 web api 的代码。
public static string AddPlanningAPI(string planNo, string jobNo, string bDate, string eDate, string progId, string timeGroup, string userId, string stationId)
{
DataSet ds = dsConfirmBookingAPI(planNo, jobNo, bDate, eDate, progId, timeGroup, userId, stationId);
RSWSJobOrder.DataJobOrderSoapClient rsWsJobOrder = new RSWSJobOrder.DataJobOrderSoapClient();
try
{
string iResult = rsWsJobOrder.AddPlaning_Return_JsonString(ds, userId);
return iResult;
}
catch (Exception tmp_ex) { throw tmp_ex; }
}
public string AddPlaning_Return_JsonString(System.Data.DataSet SendDs, string createBy) {
return base.Channel.AddPlaning_Return_JsonString(SendDs, createBy);
}
解决方案
所以你基本上想批量上传你的行。下面将实现这一点,您将定义每个“批次”的项目数量并将它们上传到这些组中。
每一行的解释请参考代码中的注释。
注意:如果您的 DataTable 需要一个名称(或者您在 中有多个表DataSet
),您需要修改以下内容以满足这些要求。
public void BatchUpload(DataSet ds)
{
int numberPerBatch = 100; // Define the number per batch
for (int skip = 0; skip < ds.Tables[0].Rows.Count; skip += numberPerBatch) // Group the batches
{
DataTable batchDT = new DataTable(); // Create a new DataTable for the batch
var batch = ds.Tables[0].Rows.Cast<System.Data.DataRow>().Skip(skip).Take(numberPerBatch); // LINQ to create the batch off existing set.
foreach (var row in batch) // Import rows to new datatable
{
batchDT.Rows.Add(row);
}
DataSet batchDS = new DataSet(); // Create a new DataSet
batchDS.Tables.Add(batchDT); // Add datatable to dataset
string iResult = rsWsJobOrder.AddPlaning_Return_JsonString(batchDS, userId); // send the batch off
}
}
推荐阅读
- android - Xamarin Forms Android EntryCell 下划线
- reactjs - React、html 字符串和组件
- c++ - 尝试从链表中删除节点的分段错误错误
- angular - 调度动作时访问另一个减速器的数据?
- reactjs - 期望一个赋值或函数调用,而是看到一个表达式 no-unused-expressions react js
- javascript - 如何在选择特定选定单选按钮时附加和删除数据?
- python - 使用beautifulsoup在数组中find_all只返回前几个结果
- python - 最适合与 Python 集成或为 Python 提供最佳 API 的 Magento 或 Shopify
- episerver - 在 EpiServer 中删除 IUser 时出错 - SqlException:执行超时
- python - 用于在 Python 3.7 中使用 zipfile 工作的串联 zip 文件的“文件头的坏幻数”