diff --git a/Ramone/MediaTypes/Xml/XmlSerializerCodec.cs b/Ramone/MediaTypes/Xml/XmlSerializerCodec.cs index 2dd5899..938d1fb 100644 --- a/Ramone/MediaTypes/Xml/XmlSerializerCodec.cs +++ b/Ramone/MediaTypes/Xml/XmlSerializerCodec.cs @@ -2,7 +2,7 @@ using System.Xml.Serialization; using System; using System.Collections.Generic; -using System.Collections.Concurrent; + namespace Ramone.MediaTypes.Xml { @@ -10,12 +10,12 @@ public class XmlSerializerCodec : XmlStreamCodecBase { // The XmlSerializer is thread safe according to the online docs, so it should be safe // to share instances. - static ConcurrentDictionary Serializers { get; set; } + static Dictionary Serializers { get; set; } static XmlSerializerCodec() { - Serializers = new ConcurrentDictionary(); + Serializers = new Dictionary(); } @@ -38,7 +38,11 @@ protected override void WriteTo(object item, XmlWriter writer, WriterContext con protected XmlSerializer GetSerializer(Type t) { - return Serializers.GetOrAdd(t, CreateSerializer); + if (!Serializers.ContainsKey(t)) + { + Serializers[t] = CreateSerializer(t); + } + return Serializers[t]; }