Я выполняю UrlRewrite для своих основных категорий. Преобразование:UrlRewriting для Global.asax и кэширования вывода SQL
www.mysite.com/Category.aspx?id=2
в
www.mysite.com/Dogs
Для того, чтобы сделать это, я использую Global.asax
«s Application_BeginRequest
где я выполнить следующий код (псевдокод):
protected void Application_BeginRequest(Object sender, EventArgs e)
{
if (IsCategoryUrl())
{
string CategoryName = ParseCategoryNameFromUrl(Request.Url);
string CategoryId = GetCategoryIdByNameFromDB(CategoryName);
Context.RewritePath("/Category.aspx?id=" + CategoryId);
}
}
Мои вопросы :
- Это правильный способ выполнения Url Rewriting? (Это первый раз, когда я это делаю).
- Этот код вызывает чтение из базы данных почти на каждый запрос, есть ли способ кэшировать его? Единственный метод, который я нашел для SQL Caching, требует директивы
<%@ Page %>
, которая невозможна наglobal.asax
. Любое другое решение?
Заранее спасибо.
спасибо, ваш ответ был очень полезен! –