Tag: nhibernate envers

通过DI配置Envers RevisionListener

为了向我们的应用程序添加审计跟踪,我们决定使用NHibernate.Envers。 为了允许特定于应用程序的修订跟踪, DefaultRevisionEntity使用特定于用户的数据进行了扩展。 public virtual void NewRevision( object revisionEntity ) { var revisionData = revisionEntity as Revision; if( revisionData != null ) { // Set additional audit data. var identity = UserAccessor.CurrentIdentity; revisionData.UserId = identity.UserId; revisionData.EmployeeId = identity.EmployeeId; revisionData.UserName = identity.Name; } } Envers决定使用RevisionListener ,具体取决于您的类使用的RevisionEntity属性: [RevisionEntity( typeof( RevisionListener ) )] 我正在使用ServiceLocator模式将我的访问器注入RevisionListener 。 目前,这是我必须使用ServiceLocator并且真正想要摆脱它的唯一地方。 是否有另一种灵活的方式将我的UserAccessor注入RevisionEntity?