我有一个脚本组件,该组件接受来自SQL Azure数据库表的记录。然后,脚本调用Web服务,该服务返回失败记录和成功记录的数量。
对于所有记录,我想添加“成功”或“失败”的“状态”字段,这将从脚本组件获取输出。
然后,将这些输出记录到文本文件中。
问题:由于Web服务调用仅在执行后发生,因此我无法为每个输入记录添加状态。
我尝试了这个,但仍然行不通:
public override void Input0_ProcessInputRow(Input0Buffer Row)
{
listOfData.Add(new ClockData
{
TimeClockID=Row.TimeClockID,
PersonID=Row.EmployeeCode,
LocationCode=Row.ClockInServiceContextID,
ClockInDateTime=Row.ClockInDateTime,
ClockOutDateTime=Row.ClockOutDateTime
});
}
public override void CreateNewOutputRows()
{
MessageBox.Show("Test CreateNewOutputRows");
MessageBox.Show(listOfData.Count.ToString());
foreach (var item in listOfData)
{
Output0Buffer.AddRow();
Output0Buffer.EmployeeCode = item.PersonID;
MessageBox.Show(item.PersonID);
}
}
1
为什么在processinputrows期间不能执行Web服务调用?一旦脱离该方法,所有数据都将流向管道。您正在本地变量中累积数据,但此时,这就像拿着一张刚刚驶离汽车的图片,是的,虽然看起来像那样,但它没有回来
—
billinkc 2011年
@flybyte:对我的回答有用吗?
—
玛丽安