Como usar o cache na API da Web do ASP.NET?

Estou usando a ASP.NET MVC 4 com a API WEB

Eu tenho a seguinte ação, na ação mostrada abaixo, meu método de serviço faz uma chamada de banco de dados paraDoMagic() método e retorna um valor inteiro que eu estou usando em cada página, esta ação é chamada usando uma chamada ajax.

Abaixo está minha ação da API WEB:

[OutputCache(Duration = 86400, VaryByParam = "none")]
[ActionName("GetMyMagicNumber")]
public int GetMyMagicNumber()
{
    if (WebSecurity.IsAuthenticated)
    {
        var revenue = _magicService.DoMagic();
        return revenue;
    }
    return 0;
}

Minha pergunta: eu tentei usar[OutputCache(Duration = 86400, VaryByParam = "none")] e com exceção de que apenas a primeira vez que a chamada do banco de dados será feita e a próxima solicitação subseqüente a essa ação retornará o valor em cache, mas isso não está acontecendo.

Uma chamada de banco de dados é feita novamente, a chamada de banco de dados leva tempo como faço para que isso funcione?

questionAnswers(4)

yourAnswerToTheQuestion