2016-03-12 7 views
6

Kiedyś rozwijać My Web-apps przy użyciu ASP.NET 4.x i udostępniać je w pełnym IIS już w trakcie rozwoju, ponieważ:pełni korzystać podczas IIS ASP.NET 5/core 1,0 rozwoju

1) używam multi-tenancy (site1.me.local i site2.me.local point do mojej aplikacji) i IIS express nie poradzi sobie z tym AFAIK
2) W większości przypadków nie potrzebuję debuggera -> Po prostu (re) zbuduj moją aplikację i odśwież przeglądarkę - restartowanie IIS Express i debuggera VS marnuje jakiś czas

Teraz wypróbowałem moją pierwszą aplikację internetową przy użyciu ASP.NET 5 aka Core 1.0 i nie byłem w stanie jej uruchomić pełne usługi IIS, aby kontynuować korzystanie z mojego znanego przepływu pracy. Dowiedziałem się, że mogę uruchomić IIS Express bez debugowania i po prostu odbudować, aby rozwiązać # 2, ale numer 1 jest nadal otwarty.

Czy pełna obsługa IIS jest jeszcze obsługiwana w ASP.NET 5/Core 1.0 podczas programowania? Jeśli tak, to jest jakaś dokumentacja, jak to ustawić?

Cała dokumentacja dla wszystkich znalezionych usług IIS służy do publikowania, ale nie do programowania.

+2

AFAIK, nie można użyć pełnego IIS. IIS Express obsługuje wielozadaniowość! Obecnie tworzymy aplikację internetową dla wielu dzierżawców i nie mamy żadnych problemów z iis express. Musisz edytować plik hosta i plik applicationhost.config i uruchomić vs2015 jako administrator. Sprawdź: http://stackoverflow.com/questions/4709014/using-custom-domains-with-iis-express – regnauld

+0

Jakieś zmiany w tym? W jakim scenariuszu rozwijasz Core, naciskasz "debug" za każdym razem? – Ssss

Odpowiedz

1

Tryb integracja z pełnym IIS został zmieniony kilka razy (od Beta do RC1 i teraz do RC2), które bałagan w dokumentacji,

https://github.com/aspnet/Announcements/issues/164

Prawdopodobnie trzeba czekać aż RC2 jest dostępny aby zobaczyć najnowsze oficjalne kroki.

2

Może faktycznie nie chcesz używać IIS w rozwoju z Asp.Net Core. Asp.Net Core został oddzielony od IIS i nawet w produkcji IIS będzie działał tylko jako odwrotny serwer proxy przekazujący żądania do twojej aplikacji AspNet.Core. Asp.Net Core używa Kestrel jako serwera aplikacji i jest o wiele łatwiej używać tego podczas programowania. Aby uzyskać podobny przepływ pracy, który miałeś wcześniej, używałbyś dnx watch/ podczas programowania, który będzie oglądał pliki kodu aplikacji, a jeśli któryś z plików się zmieni, zatrzyma aplikację, przebuduje projekt i ponownie uruchomi aplikację. Dzieje się tak, gdy możesz odświeżyć przeglądarkę, aby zobaczyć zmiany (zauważ, że jest to nawet o jeden krok mniej niż wcześniej, kiedy musiałaś sam odbudować aplikację).

Nadal powinno być możliwe korzystanie z IIS do rozwoju, jeśli naprawdę tego potrzebujesz, ale jeśli nie masz konkretnego scenariusza, który wymaga usług IIS, nie sądzę, że usługi IIS do programowania dadzą Ci jakieś korzyści.

+1

Byłoby konieczne, aby program ASP.NET Core mógł pracować z pełną usługą IIS. Myślę, że Microsoft wkrótce rozwiąże tę lukę. Wiele funkcji nie może być testowanych w IIS Express, ponieważ nie ma koncepcji, takich jak pula aplikacji. –

+0

Nie próbowałem, ale możliwe jest, że IIS ponownie uruchomi proces aplikacji Asp.NET Core, jeśli dotkniesz pliku web.config. Jeśli korzystasz z Visual Studio, myślę, że może to zająć również oprzyrządowanie - prawdopodobnie po prostu opublikuje twoją aplikację, która zastąpi web.config, który może zrestartować proces aplikacji Asp.NET Core jak wyżej (lub po prostu używając [app_offline.htm ] (https://github.com/aspnet/IISIntegration/issues/81)). Powiedziawszy to - IMHO, chyba że użyjesz specyficznej cechy IIS nie obsługiwanej przez Kestrel (np. Windows Auth) przy użyciu IIS do rozwoju będzie przesadą. – Pawel