2011-08-25 11 views
9

Mam app mvc asp.net napisane kilka lat temu i im więcej do niego dodaję, staram się wywoływać REST/AJAX do kontrolera, aby uzyskać z niego dane.Czy lepiej byłoby używać Asp.net mvc lub usług internetowych?

Moje pytanie brzmi: czy nadal pracuję w ten sposób, czy też powinienem udostępniać dane jako oddzielne usługi REST (sposób działania w WCF)?

Uważa, że ​​granica tego, co zaprojektowała aplikacja mvc, a projekt usługi sieciowej zaciera się. Aplikacja Mvc (oprócz separacji) początkowo produkowała strony internetowe, teraz jest używana do dostarczania danych opartych na usługach.

JD

Odpowiedz

4

widzę dwa możliwe scenariusze

jednej aplikacji internetowej. W tym przypadku kontynuujesz dodawanie metod do kontrolera. Jest to dobre, ponieważ zachowuje znaczenie dla funkcji kontrolera w jednym miejscu i pozwala zaoszczędzić czas. Nie nadaje się, jeśli kontroler jest wywoływany z innej aplikacji internetowej. Proste, brzydkie, ale działa, zajmuje mało czasu na rozwój i wiele czasu na konserwację.

Aplikacja internetowa + usługa internetowa. Możesz segregować metody pobierania danych w interfejsie usługi. Pozytywną stroną jest to, że system staje się bardziej modułowy i niezależny, co jest dobre dla konserwacji. Jeśli przewidujesz, że będą inne metody, które zostaną dodane wkrótce lub jeśli metody będą używane przez inne aplikacje internetowe, ta ścieżka prawdopodobnie będzie lepsza niż rozszerzenie obecnej aplikacji internetowej. Negatywną stroną jest to, że nowa usługa będzie wymagać pewnego refaktoryzacji w obecnej aplikacji internetowej i zajmie trochę czasu na opracowanie/przetestowanie itp. Ta decyzja przynosi więcej komplikacji, ale sprawia, że ​​twoja aplikacja jest łatwa do rozszerzenia.

2

myślę WCF ma kilka zalet w porównaniu z MVC, jeśli są ściśle wysyłania danych, w szczególności w zakresie formatów danych będących jednoznaczną (SOAP vs. przy użyciu domowej roboty), obsługa kodowania narzędzie całej branży, doskonałe obsługa różnych typów powiązań (tj. nie tylko HTTP), różne usługi poziomu transportu, ładne rejestrowanie i funkcje śledzenia, itp.

W końcu jednak sprowadza się to do: czy istnieje znacząca korzyść, aby przejść z WCF dla Twojego przypadku. To jest coś, co sam musisz wymyślić.

Powiązane problemy