我正在尝试在Web API中编写自定义过滤器,以便在用户根据其LastActivity时间戳发出请求时更新我们的数据库。要做到这一点,我需要访问WebHostHttpRequestContext中可用的用户名,并且在调试并关闭一些图层时可以查看,但我似乎无法弄清楚如何使用我的代码访问它。在Web API的自定义过滤器中获取WebHostHttpRequestContext Asp.net
任何想法如何访问此对象并从中获取值?这是我目前的工作,
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Http.Filters;
using MyWebAPI.Models.DAL;
namespace MyWebAPI.App_Service
{
public class MyActionFilter : System.Web.Http.Filters.ActionFilterAttribute
{
public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext)
{
var principal = actionExecutedContext.Response.Content;
//using (var db = new databaseContext())
//{
// var dbUser = (from b in db.AspNetUsers
// where b.UserName == principal.Identity.Name
// select b).First();
// dbUser.LastActivity = DateTime.Now;
// db.SaveChanges();
//}
}
}
}
这真是太好了,谢谢,我现在没有机会尝试它,但是明天会有,但这感觉就像我今天一直在寻找的感谢! – tokyo0709