public void Init(HttpApplication context)
 {
     _log.Debug("初始化");
     httpRequestLoggerConfig = GetRequestLoggerConfig();
     context.BeginRequest   += Context_BeginRequest;
     context.EndRequest     += Context_EndRequest;
 }
        private IRequestLoggerRepository GetConnection()
        {
            if (HttpRequestLoggerConfig.CreateRequestLoggerRepositoryFunc != null)
            {
                return(HttpRequestLoggerConfig.CreateRequestLoggerRepositoryFunc());
            }

            if (string.IsNullOrEmpty(httpRequestLoggerConfig.RepositoryFullName))
            {
                return(new DefaultRequestLoggerRepository());
            }

            object obj = null;

            if (string.IsNullOrEmpty(httpRequestLoggerConfig.RepositoryAssemblyName))
            {
                obj = GetType().Assembly.CreateInstance(httpRequestLoggerConfig.RepositoryFullName);
            }
            else
            {
                var assmebly = Assembly.Load(httpRequestLoggerConfig.RepositoryAssemblyName);
                if (assmebly == null)
                {
                    throw new Exception($"加载程序集【{httpRequestLoggerConfig.RepositoryAssemblyName}】失败");
                }
                obj = assmebly.CreateInstance(httpRequestLoggerConfig.RepositoryFullName);
            }
            if (obj is IRequestLoggerRepository)
            {
                return(obj as IRequestLoggerRepository);
            }
            else
            {
                throw new Exception($"【{obj.GetType().FullName}】必须实现【{typeof(IRequestLoggerRepository)}】接口!");
            }
        }