如何在c#中启用RestAPI中的缓存?

本文关键字:缓存 RestAPI 启用 | 更新日期: 2023-09-27 18:04:23

这是我的EmployeeDetailsController.cs

namespace EmpApi.Controllers
{
    [RoutePrefix("")]
    public class EmployeeDetailsController : ApiController
    {
        [HttpGet]
        [Route("Employees")]
        public IEnumerable<Employee> Employees()
        {
        }

        [HttpGet]
        [Route("Details/{id}")]
        public IEnumerable<Details> Details(int id)
        {
        }

        [HttpGet]
        [Route("TeamInfo/{id}")]
        public IEnumerable<Team> TeamInfo(int id)
        {
        }
        [HttpGet]
        [Route("DetailsForTeam/{id}")]
        public IEnumerable<Details> DetailsForTeam(int id)
        {
            ;
        }
        [HttpPost]
        [Route("PostEmp")]
        public void PostEmp([FromBody] Employee cs)
        {
        }
        [HttpPut]
        [Route("PutEmp/{id}")]
        public void PutEmp(int id, [FromBody]Employee cs)
        {
        }
        [HttpDelete]
        [Route("DeleteEmp/{id}")]
        public void DeleteEmp(int id)
        {
        } 
    }
}

我做了一个有各种服务的API。假设我调用api/Employees,在我调用api/Details/12之后,然后当我在浏览器中单击GoBack按钮时,api/Employees不应该被触发。我如何为我的API启用缓存。请告诉我的步骤,因为我是新的WebApI。提前感谢……

如何在c#中启用RestAPI中的缓存?

在控制器声明之前添加以下代码:

[OutputCache(VaryByParam = "*", Duration = 0, NoStore = true)]
public class EmployeeDetailsController : ApiController
{
...
}