none
web api 如何统一给get加缓存?

    问题

  • 类似这样的api:

        [DataCache]
            [ApiCacheFilter]
            [HttpGet]
            public MenDianPaiBanModel MenDianPaiBan(string startMonday, string projectid, string isHulLi)

    加了DataCache标签,什么的都没用,每次还是会直接访问方法

     BaseApiController: System.Web.Http.ApiController

    试图加baseapicontrol控制,但是里面不知道返回什么数据?

            

     public override Task<HttpResponseMessage> ExecuteAsync(HttpControllerContext controllerContext, CancellationToken cancellationToken)
          

    请教下有什么好方法可以做?

    2017年2月27日 7:56

全部回复

  • Hi,

    感谢你咋MSDN论坛发帖。

    如果你想实现Cache这种功能,也许你要继承ActionFilterAttribute,并且重写OnActionExecuted 函数。 下面是一个实现cache的案例,希望对你有所帮助。 因为你这个问题涉及到web API的问题,你可以到这个论坛发帖。https://forums.asp.net/1246.aspx/1?Web+API

    Best Regards,

    Hart


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.


    2017年2月28日 6:43
    版主
  • AOP应该可以满足你的要求。
    2017年2月28日 11:12