我在每个阶段使用PLINQ,但生成一个XML输出。我尝试了一些古怪的例外。所以我想知道是否有一个技巧可以让我做异步输出。是否可以使用PLINQ写入XmlWriter?任何其他流/作家?
...
[DataContract(Namespace = "")]
public class MyClass
{
[DataMember]
public ulong Id { get; set; }
[DataMember]
public int[] Value { get; set; }
}
...
private static readonly DataContractSerializer _serializer =
new DataContractSerializer(typeof(MyClass));
...
XmlDocument _resultDoc = new XmlDocument();
...
using (var writer = _resultDoc.CreateNavigator().AppendChild())
{
writer.WriteStartElement("root");
writer.WriteAttributeString("ver", "0");
{
//--------------------------------------------------
// Want this to be:
// myDictionary.ToList().ToParallel().ForAll(pair =>
//--------------------------------------------------
myDictionary.ToList().ForEach(pair =>
_serializer.WriteObject(
writer,
new MyClass
{
Id = pair.Key.Id,
Value = pair.Value.ToArray()
}
)
);
}
writer.WriteEndElement();
}
究竟是什么例外,你在哪里得到它? –