我正在使用SharpArchitecture,我正在尝试在Infrastructure层为NHibernate创建一个简单的AuditInterceptor。
现在,我的问题是让拦截器内的当前请求详细信息可以访问。这包括当前用户以及服务器收到活动请求的日期/时间。
我应该使用某种UnitOfWork模式吗?如果是这样,什么是使UnitOfWork对象可用于拦截器代码的好方法?
答案 0 :(得分:1)
据我所知,获得当前用户的最佳位置是:
System.Threading.Thread.CurrentPrincipal.Identity.Name
我还需要获取当前请求的日期/时间,并决定最好创建一个具有IPrincipal
属性的自定义CurrentDateTime
,然后我将自定义主体设置为Global.asax OnAuthenticated
或我的MVC ActionFilter。