gpt4 book ai didi

c# - 使用 'using' 会导致创建 EventData 列表时出现 ObjectDisposeException

转载 作者:行者123 更新时间:2023-12-03 05:59:23 25 4
gpt4 key购买 nike

我通常按如下方式将数据发送到事件中心..

var encoded = Encoding.UTF8.GetBytes(serializedString);
using (var edata = new EventData(encoded) { PartitionKey = mypkey })
{
edata.Properties[EventDataPropertyKeys.MyKey] = myvalue;
await _eventclient.SendAsync(edata).ConfigureAwait(false);
}

今天我想尝试通过批量发送数据,并尝试创建一个 EventData 对象列表,如下所示..

List<EventData> eventDataList = new List<EventData>();

//in a loop
var encoded = Encoding.UTF8.GetBytes(serializedString);
using (var edata = new EventData(encoded) { PartitionKey = mypkey })
{
edata.Properties[EventDataPropertyKeys.MyKey] = myvalue;
eventDataList.Add(edata);
}

但是当我检查 eventdatalist 对象时,我发现 EventData 对象的 SerializedSizeInBytes 属性显示

'This eventdata instance has already been disposed'

并且在访问抛出时..

'eventData.SerializedSizeInBytes' threw an exception of type 'System.ObjectDisposedException'

真诚感谢任何帮助..

谢谢

最佳答案

因为在第一个代码片段中,您在 using block 内发送 edata。但在第二个片段中,您将 edata 放入列表中,然后循环遍历列表并在 using block 之后发送每个项目,其中项目 edata 已被处置。

关于c# - 使用 'using' 会导致创建 EventData 列表时出现 ObjectDisposeException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34783792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com