.net XmlSerializer.Serialize需要很长时间。。。为什么?

.net XmlSerializer.Serialize需要很长时间。。。为什么?,.net,c#-4.0,xmlserializer,sgen,.net,C# 4.0,Xmlserializer,Sgen,给定RssXmlHelper.cs中RssToolkit的以下代码: /// <summary> /// Returns XML of the Generic Type. /// </summary> /// <param name="rssDocument">The RSS document.</param> /// <typeparam name="T">RssDocumentBase<

给定RssXmlHelper.cs中RssToolkit的以下代码:

    /// <summary>
    /// Returns XML of the Generic Type.
    /// </summary>
    /// <param name="rssDocument">The RSS document.</param>
    /// <typeparam name="T">RssDocumentBase</typeparam>
    /// <returns>string</returns>
    public static string ToRssXml<T>(T rssDocument) where T : RssDocumentBase
    {
        if (rssDocument == null)
        {
            throw new ArgumentNullException("rssDocument");
        }

        using (StringWriter output = new StringWriter(new StringBuilder(), CultureInfo.InvariantCulture))
        {
            XmlSerializer serializer = new XmlSerializer(typeof(T));
            serializer.Serialize(output, rssDocument);
            return output.ToString();
        }
    }

我的RssToolkit项目的目标框架设置为4.0,与.Net 4的Windows SDK相匹配。这不正确吗?

您可以使用Windows SDK附带的XML序列化程序生成器工具生成序列化程序集。通过在大型类上使用它,我看到了巨大的改进


它基本上会生成知道如何序列化和反序列化域中的每个对象的代码。生成DLL后,可以将其作为程序集引用包含在项目中,然后使用其中的类,而不是现在使用的
XmlSerializer

找到了4.0版本。出于某种原因,包含了v2.0和v4.0。bin\NETFX 4.0 Tools\sgen.exe中的4.0证明这基本上使问题过于复杂。因为该服务只需要返回序列化数据,所以我只是用老式的方式来做——读取HTML流并传递它。标题有点误导:WCF与慢速
XmlSerializer
的问题无关,所以我编辑了它。
Error:  An attempt was made to load an assembly with in incorrect format [path to rsstoolkit.dll]
- Could not load file or assemply [path to rsstoolkit.dll] or one of its dependencies.  This assembly was build by a runtime newer than the currently loaded runtime and cannot be loaded.