2017-01-07 3 views
0

Я использую ядро ​​Asp.net и щеголеватый в нашей App.Here ошибка мой User Repository Добавить метод. (Строка подключения будет закачиваться через зависимость)Глобальное исключение/обработки в ASP.NET MVC ядра и щеголеватый

public User Add(User user) 
     { 
      string query = @"Insert into Users(UserName,Email,LastName,Password) values (@UserName , @Email, @LastName , @Password); 
      select Cast(Scope_Identity() as int)"; 

      Try 
      { 
      using (var db = connectionFactory.GetOpenConnection()) 
      { 
        int id = db.Query<int>(query, user).Single(); 
        user.UserId = id; 
        return user; 
      } 

     } Catch(Exception e){ //log exception} 

     } 

И в моем классе запуска я включил глобальный обработчик исключений

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 
     { 
      loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
      loggerFactory.AddDebug(); 

      if (env.IsDevelopment()) 
      { 
       app.UseBrowserLink(); 
       app.UseDeveloperExceptionPage(); 
       app.UseDatabaseErrorPage(); 
      } 
      else 
      { 
       // StatusCode pages to gracefully handle status codes 400-599. 
       app.UseStatusCodePagesWithRedirects("~/Home/StatusCodePage"); 

       app.UseExceptionHandler("/Home/Error"); 
      } 

     } 

Мой Quetion является ли requered попытка поймать в каждом методе репозитория? Или ядро ​​asp.net автоматически обрабатывает глобальное исключение/Sql?

Пожалуйста, дайте мне знать правильный метод потому что я не хочу включать в попытке поймать в каждом методе

+0

Термин, на который вы ссылаетесь, является ** сквозной проблемой **. прочитайте эту тему в отношении глобальной обработки ошибок. в идеале вы хотите сохранить свои реалистичные реалии и иметь единые обязанности (SRP). – Nkosi

ответ

0

попробовать поймать лучший способ быть безопасным, но в идеальном мире лучшие практики будет писать тесты вокруг тех, ситуации. Я наткнулся на это с моим последним автономным проектом на работе. Хорошо написанный модульный тест расскажет вам точную проблему с вашим кодом. Я люблю их. :)

+0

Спасибо за быстрый ответ. Можете ли вы рассказать об этом на примере? Это будет очень легко понять. – mmushtaq

+0

Ну, это большой предмет, сначала я должен спросить, вы уже создали модульные тесты? – MistaGoustan

+0

@MistaGoustan Я новичок в asp.net core..i я не тестировал единицы измерения раньше..если вы предоставляете пример кода ... это поможет нам – Ljt

Смежные вопросы