代码之家  ›  专栏  ›  技术社区  ›  Kubi

带有XML数据存储的Blog Engine.NET是如何实现如此之快的?

  •  0
  • Kubi  · 技术社区  · 16 年前

    我正在寻找一种方法将博客引擎嵌入到我自己的应用程序中,我对博客引擎算法太好奇了。

    这可能不是一个正确的问题,但是,在默认配置下,如何将博客条目数据存储在像BlogEngine.Net这样的XML文件中呢。当文件越来越大时,它必须每天都变慢。

    我想知道这背后的算法。是否以不同的方式加载?还是我的时间估计错了?

    我知道它是开源的,但我认为最好在这里进行讨论,因为其他人可能也有同样的想法,这篇文章可以作为参考。

    3 回复  |  直到 16 年前
        1
  •  0
  •   Srinivas Reddy Thatiparthy    16 年前

    要回答您提出的XML问题,通过扩展ProviderBase类,您可以将其挂接到任何数据库(包括XML文件)。有关更多信息,请参阅BlogProvider.cs类和Providers文件夹及其在BlogEngine.Core文件夹中的子文件夹XmlProvider。 如果您看到Web.Config文件,您可以看到下面的代码。

        <blogProvider defaultProvider="XmlBlogProvider">
            <providers>
                <add name="XmlBlogProvider" type="BlogEngine.Core.Providers.XmlBlogProvider, BlogEngine.Core"/>
                <add name="DbBlogProvider" type="BlogEngine.Core.Providers.DbBlogProvider, BlogEngine.Core" connectionStringName="BlogEngine" />
            </providers>
        </blogProvider>
    

    通过将defaultProvider更改为DbBlogProvider,您可以钩住BlogEngine.NET支持的任何RDBMS。

        2
  •  2
  •   Joel Coehoorn    16 年前

    它在启动时将POST加载到内存中。

        3
  •  2
  •   Kbdavis07    13 年前

    如何将博客条目数据存储在XML文件中,如 具有默认配置的BlogEngine.Net。一定是变慢了

    每个帖子都存储为一个单独的xml文件,并带有一个GUID文件名。

    对于第一个在“冷”启动时访问的访问者,其页面加载速度通常比之后的访问者慢。

    第二个访问者和其他访问者将体验比第一个访问者更快的页面加载。

    这是估计约150个职位/页总数。