Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 带有XML数据存储的Blog Engine.NET是如何实现如此之快的?_Asp.net_Xml_Blogengine.net - Fatal编程技术网

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

Asp.net 带有XML数据存储的Blog Engine.NET是如何实现如此之快的?,asp.net,xml,blogengine.net,Asp.net,Xml,Blogengine.net,我正在寻找一种方法将博客引擎嵌入到我自己的应用程序中,我对博客引擎算法太好奇了 这可能不是一个正确的问题,但是,在默认配置下,如何将博客条目数据存储在像BlogEngine.Net这样的XML文件中呢。当文件越来越大时,它必须每天都变慢 我想知道这背后的算法。是否以不同的方式加载?还是我的时间估计错了 我知道它是开源的,但我认为最好在这里看到讨论,因为其他人可能也有同样的想法,此线程可以作为参考。它在启动时将帖子加载到内存。它在启动时将帖子加载到内存。要回答您提出的XML问题,通过扩展Provi

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

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

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


我知道它是开源的,但我认为最好在这里看到讨论,因为其他人可能也有同样的想法,此线程可以作为参考。

它在启动时将帖子加载到内存。

它在启动时将帖子加载到内存。

要回答您提出的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。

要回答您提出的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

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

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

当系统启动或循环使用时(如果30分钟不活动),系统将遍历所有xml文件并将其加载到系统内存“app_pool”中

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

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

它之所以快,是因为它存储在内存中,不需要连接到数据库,也不需要访问数据库并返回请求的页面/帖子的往返过程

当“应用程序池”因为帖子/页面太多而开始满时,它将开始减速

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

当您总共达到151篇文章/页时,您将需要切换到使用SQL数据库或xml以外的其他提供者

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

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

当系统启动或循环使用时(如果30分钟不活动),系统将遍历所有xml文件并将其加载到系统内存“app_pool”中

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

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

它之所以快,是因为它存储在内存中,不需要连接到数据库,也不需要访问数据库并返回请求的页面/帖子的往返过程

当“应用程序池”因为帖子/页面太多而开始满时,它将开始减速

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

当您总共达到151篇文章/页时,您将需要切换到使用SQL数据库或xml以外的其他提供者