2012-08-08 12 views
6

Jestem nowy w ASP.Net MVC i ASP.Net web api.Host ASP.Net web api i korzystanie z innej aplikacji MVC

Pracowałem nad usługami sieci Web i je wykonałem.

Ale nie jestem pewien, jak host ASP.Net web api i zużywają to samo z innej aplikacji ASP.Net MVC. Znalazłem próbki, w których ludzie używają api z tego samego projektu. W prawdziwym świecie naprawdę wątpię, że użycie będzie ograniczone do jednego projektu.

Czy w niektórych organach można zamieścić kilka przykładów lub linków, które mogą wyjaśnić to samo?

Odpowiedz

5

Hosting ASP.NET Web API w aplikacji sieciowej MVC doskonale sprawdza się w świecie rzeczywistym, jeśli używasz API do wykonywania wywołań typu AJAX od klienta internetowego. Posiadanie API i aplikacji WWW w tym samym projekcie eliminuje problemy z międzydomenowymi wywołaniami Ajax, co wymaga JSONP. Ale ASP.NET Web API może w łatwy sposób obsługiwać JSONP w razie potrzeby za pomocą niestandardowego formatera, takiego jak JsonMediaTypeFormatter dostępnego z WebApiContrib.

ASP.NET Web API ułatwia tworzenie interfejsów API REST. Używasz tych samych konwencji, co tworzenie kontrolera w MVC. Aby utworzyć go oddzielnie od aplikacji internetowej, wystarczy utworzyć projekt MVC 4 i utworzyć kontrolery za pomocą ApiController zamiast standardowego kontrolera do wyświetlania widoków. Następnie po prostu rozmieść aplikację tak, jak każdą aplikację internetową do IIS (możesz także samodzielnie hostować ASP.NET Web API w coś podobnego do usługi Windows). Oto an example on the official ASP.NET Web API website that calls a REST API developed in ASP.NET Web API from a console application. Na tej stronie znajduje się o wiele więcej przykładów.

+0

Dziękuję Kevin .... – Naresh

+0

Jednak w przypadku niektórych wymagań biznesowych serwer web api musi znajdować się na innej warstwie dostępu do serwera WWW (na przykład w celu spełnienia wymagań bezpieczeństwa). W takich przypadkach nie mamy wyboru, ale korzystanie z tradycyjnej konsumpcji usług internetowych? –

+0

@ HoàngLong - Co to jest "tradycyjny serwis internetowy"? A co oznacza "inna warstwa dostępu do serwera sieciowego"? –

Powiązane problemy