0
我通常將數據發送到事件樞紐如下列表..使用引起的ObjectDisposedException創造的EVENTDATA
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'
任何幫助表示衷心感謝..
感謝
查看Danny Chen的回答。 「使用」塊用於在物體不再需要時自動處理物體。如果你需要你的對象在'using'塊之外,不要使用它。 – Wilsu