MVC3 очищает кэшированный actionResult от проблемы с контроллером - PullRequest
0 голосов
/ 13 декабря 2011

У меня очень интенсивная работа с данными в моем приложении MVC3.Чтобы получить прирост производительности, я кэшировал результат следующим образом:

[OutputCache(Duration=60,VaryByParam="none")]
    public ActionResult Index(string server, string database)
{ //get+display a list of objects
}

Это хорошо работает.Но я хочу очистить кеш, если определенные действия происходят как Edit или Create.Чтобы очистить кеш, я делаю это

var urlToRemove = Url.Action("HtmlOutputMethod", "Controller");
Response.RemoveOutputCacheItem(urlToRemove);

Следующее: Как программно очистить кэш вывода для метода действия контроллера

НО при попыткекэшировать действие на сервере, чтобы удаление кэша действительно работало следующим образом:

[OutputCache(Location="Server", Duration=60,VaryByParam="none")]
    public ActionResult Index(string server, string database)

Я получаю эту ошибку:

Невозможно неявно преобразовать тип 'string' в 'System.Web.UI.OutputCacheLocation '

Является ли это устаревшим в MVC3 или мне не хватает сборки?Я вижу, что это используется повсеместно, но на моей машине это не скомпилируется.

1 Ответ

1 голос
/ 13 декабря 2011

Как говорится, используйте OutputCacheLocation:

[OutputCache(Location=OutputCacheLocation.Server, Duration=60,VaryByParam="none")]
public ActionResult Index(string server, string database)

А при использовании добавьте:

using System.Web.UI;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...