Однажды я попробовал добавлять записи в свой блог на движке Blogengine.net сторонней программой путем записи данных непосредственно в MS SQL - базу данных. При этом я обнаружил, что добавленные данные не отображаются в самом блоге. Оказывается Blogengine.net кэширует свои данные для уменьшения нагрузки при передаче данных от SQL сервера. Для решения этой проблемы можно создать простую страницу reset.aspx
================================================
<%@ Page Language="C#" AutoEventWireup="true" %>
<HTML>
<body>
<script runat="server">
protected void btnReset_Click(object sender, EventArgs e)
{
try
{
BlogEngine.Core.Post.Reload();
HttpRuntime.Close();
lblResult.Text = "Очистка кэша произведена!";
}
catch
{
lblResult.Text = "Ошибка очистки кэша!";
}
}
</script>
<form runat="server">
<div>
<asp:Button ID="btnReset" runat="server" Text="Очистка" OnClick="btnReset_Click"/>
<asp:Label ID="lblResult" runat="server"></asp:Label>
</div>
</form>
</body>
</HTML>
=================================================
Которую необходимо разместить в каталоге /Admin/Pages сайта, а для вызова этого файла необходимо добавить строчку:
<
siteMapNode
url
=
"~/admin/Pages/Reset.aspx"
title
=
"Reset Cache"
description
=
""
roles
=
"administrators"
/>
в файл web.sitemap размещенный в корневом каталоге блога.
После нажатия ссылки Reset Cache в админском меню, открывается страница reset.aspx на которой отображается кнопка для очистки кэша.