2013-06-16 14 views
5

Czy zaleca się definiowanie określonych typów powrotu dla działań kontrolera?Typy zwrotów w akcjach ASP.NET MVC

Lub innymi słowy, ponieważ wyniki takie jak JSONRESULT, VIEWRESULT itp ... pochodzą z ACTIONRESULT, co jest najlepszą praktyką w zakresie określania typu zwrotu dla działania kontrolera.

ACTIONRESULT lub bardziej szczegółowy Typ wyniku.

Czy istnieje podejście do aspektu najlepszych praktyk/OOAD.

+2

To prawdopodobnie spowoduje debatę. Lubię pozostawić typ zwracany jako "ActionResult". W ten sposób jest bardziej elastyczny. Na przykład, jeśli nie określę 'JsonResult' i zostawię go jako' ActionResult', mogę zwrócić 'JsonResult' lub' HttpStatusCodeResult'. – Dan

+2

Ale z pewnością określenie JsonResult na przykład bardziej wyraźnie określa zamiar działania, to znaczy, że wiesz z definicji, że jest zamiar zwrócić JSON? Nie, żebym wiedział dużo o MVC, ale czy jest jakiś prawdziwy przypadek, w którym możesz chcieć zwrócić stronę HTML dzisiaj, ale obiekt JSON jutro? –

Odpowiedz

2

Nie sądzę, że istnieje specjalna rekomendacja. Moja dzisiejsza opinia (kiedyś byłam bardziej konkretna) jest taka sama jak Dana, ponieważ łatwiej jest utrzymać mój kod w ten sposób.

2

Najlepszą praktyką jest zawsze utrzymywanie parametrów naszych metod i typów zwracanych jako najbardziej typowych, takich jak akceptujemy IEnumerable, a nie T [] i dotyczy to typów zwrotów.