2015-06-04 2 views
0

У меня есть проект MVC, и я повторяю следующие типы кода по всему проекту.Принцип DRY в проекте MVC

public ActionResult CompleteTask(Guid? id) 
    { 
     if (id.HasValue == false) 
     { 
      return HttpNotFound(); 
     } 

     Task task = _service.GetTask(id.Value); 

     if (task == null) 
     { 
      return HttpNotFound(); 
     } 

Можно ли реорганизовать эти нулевые чеки?

ответ

0

Первая проверка, которую вы можете устранить с помощью правильной маршрутизации и regex constraint. Второй из них вы можете отчасти решить с помощью пользовательской модели связующего, так что ваш метод действия подписи становится:

public ActionResult CompleteTask(Task task) 

но это потребует введения немного уродства в вашем TaskBinder, так как не существует никакого способа (что я знать), чтобы прекратить обработку запроса из пользовательского связующего, отличного от того, чтобы выбросить исключение, а затем поймать его в вашем базовом классе контроллера.

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