У меня есть WWW фильтр на все мои действия
public class WwwFilter : ActionFilterAttribute, IActionFilter {
#region IActionFilter Members
void IActionFilter.OnActionExecuted(ActionExecutedContext filterContext) {
}
void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext) {
var request = filterContext.HttpContext.Request;
var response = filterContext.HttpContext.Response;
if (request.Url.Host.StartsWith("www")) {
string newPort = request.Url.IsDefaultPort ? "" : ":" +request.Url.Port.ToString();
string newUrl = request.Url.Scheme + "://" +request.Url.Host.Replace("www.", "") + newPort + request.Url.AbsolutePath;
filterContext.Result = new RedirectResult(newUrl);
}
}
#endregion
}
для моего сайта, http://www.tweetMP.org.au
www НЕ отфильтровывается для домашней страницы или некоторых других страниц
Если вы заходите на сайт с помощью меню, в конце концов www исчезнет, когда включится фильтр.
Понятия не имею, почему это происходит. Есть идеи?
ОБНОВЛЕНИЕ: кажется, что-то связано с OutputCache для каждого действия, которое я делаю тоже Как правильно использовать WWW-фильтр в среде со средним уровнем доверия?