在 Session 中使用 ServiceStack Ormlite 全局过滤器
Using ServiceStack Ormlite global filters with Session
我想更改找到的示例 here,以便在每次进行更改时使用会话的用户名填充 modifyby。这可能吗?
您需要单例访问才能访问您需要在 ReqeustContext
或 ASP.NET 的 HttpContext.Current.Items
词典中填充的用户名,例如:
GlobalRequestFilters.Add((req,res,dto) => {
RequestContext.Instance.Items["UserName"] = req.GetSession().UserAuthName;
});
您可以从 UpdateFilter
内部访问,例如:
OrmLiteConfig.UpdateFilter = (dbCmd, row) => {
var auditRow = row as IAudit;
var userName = RequestContext.Instance.Items["UserName"] as string;
if (auditRow != null)
auditRow.UserName = userName;
};
注意:"UserName" 仅在 HTTP 请求的上下文中起作用。
我想更改找到的示例 here,以便在每次进行更改时使用会话的用户名填充 modifyby。这可能吗?
您需要单例访问才能访问您需要在 ReqeustContext
或 ASP.NET 的 HttpContext.Current.Items
词典中填充的用户名,例如:
GlobalRequestFilters.Add((req,res,dto) => {
RequestContext.Instance.Items["UserName"] = req.GetSession().UserAuthName;
});
您可以从 UpdateFilter
内部访问,例如:
OrmLiteConfig.UpdateFilter = (dbCmd, row) => {
var auditRow = row as IAudit;
var userName = RequestContext.Instance.Items["UserName"] as string;
if (auditRow != null)
auditRow.UserName = userName;
};
注意:"UserName" 仅在 HTTP 请求的上下文中起作用。