zoukankan      html  css  js  c++  java
  • 依赖注入研究

    依赖注入研究:

    View Code
    public class BaseBusiness
        {
            protected ITSysOperationLogDal buLog;
    
            public BaseBusiness(ITSysOperationLogDal log) 
            {
                this.buLog = log;
            }
    
            /// <summary>
            /// 返回T类型的实体,T需要继承BaseBusiness
            /// 默认container节点名称为业务类名称
            /// </summary>
            /// <typeparam name="T">返回值类型</typeparam>
            /// <returns></returns>
            public static T Create<T>() where T : BaseBusiness
            {
                IUnityContainer container = new UnityContainer();
                UnityConfigurationSection section = (UnityConfigurationSection)System.Configuration.ConfigurationManager.GetSection("unity");
                section.Configure(container, typeof(T).Name);
                T tModel = (T)container.Resolve<BaseBusiness>();
                return tModel;
            }
    
            /// <summary>
            /// 返回T类型的实体,T需要继承BaseBusiness
            /// </summary>
            /// <typeparam name="T">返回值类型</typeparam>
            /// <param name="containerName">需要实例化的container节点名称</param>
            /// <returns></returns>
            public static T Create<T>(string containerName) where T : BaseBusiness
            {
                IUnityContainer container = new UnityContainer();
                UnityConfigurationSection section = (UnityConfigurationSection)System.Configuration.ConfigurationManager.GetSection("unity");
                section.Configure(container, containerName);
                T tModel = (T)container.Resolve<BaseBusiness>();
                return tModel;
            }
    
            /// <summary>
            /// 保存日志,用户信息从Cookie获取
            /// </summary>
            /// <param name="opType">操作类型</param>
            /// <param name="remark">备注信息</param>
            protected void LogSave(OperationType opType,string remark) 
            {
                System.Web.HttpCookie userInfo = System.Web.HttpContext.Current.Request.Cookies["UserInfo"] ?? null;
                if (userInfo == null) 
                {
                    SysLog.Debug("DebugLog", "用户还未登录,无法获取相关Cookie");
                }
                TSysOperationLog logModel = new TSysOperationLog()
                {
                    OperationType = (short)opType,
                    OperationUserID = new Guid(userInfo["UserID"]), 
                    OperationUserName = userInfo["UserName"].ToString(),
                    UserDomainID = new Guid(userInfo["DomainID"]),
                    OperationTime = DateTime.Now,
                    Remark = remark
                };
                ExHandler.Execute<bool,TSysOperationLog>(buLog.Add, logModel);
            }
    
            /// <summary>
            /// 保存日志,用户信息需要传入
            /// </summary>
            /// <param name="opType">操作类型</param>
            /// <param name="userID">用户ID</param>
            /// <param name="userName">用户名</param>
            /// <param name="userDomainID">用户所属域</param>
            /// <param name="remark">备注信息</param>
            protected void LogSave(OperationType opType,Guid userID, string userName, Guid userDomainID , string remark)
            {
                TSysOperationLog logModel = new TSysOperationLog()
                {
                    OperationType = (short)opType,
                    OperationUserID = userID,
                    OperationUserName = userName,
                    UserDomainID = userDomainID,
                    OperationTime = DateTime.Now,
                    Remark = remark
                };
                ExHandler.Execute<bool, TSysOperationLog>(buLog.Add, logModel);
            }
        }
  • 相关阅读:
    BZOJ.3453.tyvj 1858 XLkxc(拉格朗日插值)
    BZOJ.5339.[TJOI2018]教科书般的亵渎(拉格朗日插值) & 拉格朗日插值学习笔记
    BZOJ.5461.[PKUWC2018]Minimax(DP 线段树合并)
    AGC 014E.Blue and Red Tree(思路 启发式合并)
    BZOJ.4199.[NOI2015]品酒大会(后缀自动机 树形DP)
    BZOJ.4199.[NOI2015]品酒大会(后缀数组 单调栈)
    BZOJ.4052.[Cerc2013]Magical GCD(思路)
    BZOJ.3307.雨天的尾巴(dsu on tree/线段树合并)
    字节跳动冬令营网络赛 D.The Easiest One(贪心 数位DP)
    BZOJ.1210.[HNOI2004]邮递员(插头DP Hash 高精)
  • 原文地址:https://www.cnblogs.com/8090sns/p/2681852.html
Copyright © 2011-2022 走看看