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)}】接口!"); } }