public SqlLogger(SqlLoggingRepository repo) { _repo = repo; }
//Our composition Root protected void Application_Start() { AreaRegistration.RegisterAllAreas(); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); var emailConfig = ConfigurationManager.GetSection("EmailLogger") as EmailLogConfiguration; //Ensure Web.Config is correctly configured. if (emailConfig == null) throw new ConfigurationErrorsException("Email Logger was not configured correctly"); ILogger emailLoggingProvider = new EmailLogger(emailConfig); SqlLoggingRepository sqlLogRepo = new SqlLoggingRepository(); ILogger sqlLoggingProvider = new SqlLogger(sqlLogRepo); Global.Logger = new LoggingService(sqlLoggingProvider, emailLoggingProvider); string userName = ConfigurationManager.AppSettings["AdminDefaultUserName"]; if (Membership.FindUsersByName(userName).Count == 0) { string password = ConfigurationManager.AppSettings["AdminDefaultPassword"]; string email = ConfigurationManager.AppSettings["AdminDefaultEmail"]; MembershipCreateStatus createStatus; Membership.CreateUser(userName, password, email, passwordQuestion: null, passwordAnswer: null, isApproved: true, providerUserKey: null, status: out createStatus); if (createStatus != MembershipCreateStatus.Success) throw new MembershipCreateUserException(createStatus.ToString()); } var unhandledErrorAttr = new LoggingHandleErrorAttribute(Global.Logger); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters, new object[] { unhandledErrorAttr }); Database.SetInitializer<PersonalWebsiteContext>(new ContextInitializer()); _cache = new CachingProvider(); var controllerFactory = new PersonalWebsiteControllerFactory(_cache); ControllerBuilder.Current.SetControllerFactory(controllerFactory); }
public ErrorController(SqlLoggingRepository repo) { _repo = repo; }