我正在嘗試在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