Asp.net 缓存数据库导致WebAPI身份验证
我正在使用ASP.NET WebApi创建一个RESTful web服务。我要求所有传入的请求都通过SSL,因为我将使用基本的HTTP身份验证。客户端负责在请求头中包含凭据,web服务将在每个请求上对客户端进行身份验证 实际的身份验证需要进行数据库调用。有没有办法缓存数据库结果(用户名和密码),这样我就不必对短时间内发生的每个传入请求进行数据库调用Asp.net 缓存数据库导致WebAPI身份验证,asp.net,authentication,caching,asp.net-web-api,Asp.net,Authentication,Caching,Asp.net Web Api,我正在使用ASP.NET WebApi创建一个RESTful web服务。我要求所有传入的请求都通过SSL,因为我将使用基本的HTTP身份验证。客户端负责在请求头中包含凭据,web服务将在每个请求上对客户端进行身份验证 实际的身份验证需要进行数据库调用。有没有办法缓存数据库结果(用户名和密码),这样我就不必对短时间内发生的每个传入请求进行数据库调用 因此,当web服务中出现请求时,它将在缓存中查找用户名/密码组合。如果找到,它将处理该请求。如果找不到,它将调用数据库进行身份验证,然后将用户名/密
因此,当web服务中出现请求时,它将在缓存中查找用户名/密码组合。如果找到,它将处理该请求。如果找不到,它将调用数据库进行身份验证,然后将用户名/密码添加到缓存中。我能想到的最简单的缓存是使用System.Web.Caching。下面是一个极其简化的版本,它向当前缓存添加一个值,然后检索该值进行处理。我不建议按原样使用此代码
// GET api/values/5
[HttpGet]
public string GetValue(int id)
{
HttpContext.Current.Cache.Insert("2", "test1");
var value = Convert.ToString(HttpContext.Current.Cache.Get(id.ToString()));
return !string.IsNullOrEmpty(value) ? value : "nothing found";
}