Uderzanie do IISExpress z zewnętrznej maszyny

Z racji, że mój projekt zakłada komunikację między zewnętrznym urządzeniem, a API w ASP.NET potrzebuje uderzać do tego właśnie API z tego właśnie urządzenia zewnętrznego 🙂 Projekt jest dopiero w powijakach i tworze jakieś małe prototypy konkretnych funkcjonalności, dlatego potrzebuję bardzo często uderzać do API i bardzo często dokonywać w nim zmian (czyt. standardowy proces developmentu ;)). Pierwszym pomysłem było publikowanie aplikacji i stawianie jej na IISie i potem uderzanie do niej po IP maszyny, na której stoi. Wiązałoby się to z częstym publikowaniem całej aplikacji, no ale innego pomysłu na razie nie miałem tym bardziej, że moja wiedza z zakresu sieci jest… no własnie, nie można nawet o niej powiedzieć, że jest, bo jej nie ma 😉 Jednak po kilku godzinach prób uruchomienia aplikacji dałem sobie spokój (nie wiem czemu, ale nie mogę za żadne skarby uruchomić aplikacji ASP.NET5 u siebie na IIS, a już całą możliwą dokumentację prześledziłem i nic z tego). Następnego dnia zacząłem szukać informacji na temat tego czy da się wejść do aplikacji uruchomionej w visualu na IIS Express… i ku mojej ogromnej radości da się! 🙂

  1. Musisz mieć zainstalowanego node.js – jak nie masz to wygugluj
  2. Otwierasz wiersz poleceń i wpisujesz: „npm install g iisexpressproxy”
  3. Następnie wpisujesz: „iisexpress-proxy NR_PORTU to ZEW_NR_PORTU” gdzie NR_PORTU to nr portu, na którym startuje aplikacja po uruchomieniu jej w visualu, ZEW_NR_PORTU to port, przez który będziesz się ładował z innej maszyny (u mnie dałem 81)
  4. Nie zamykaj wiersza poleceń
  5. Przejdź do zapory systemu windows -> ustawienia zaawansowane -> reguły przychodzące -> nowa reguła-> zaznacz port i naciśnij dalej -> wpisz nr portu czyli ZEW_NR_PORTU i dalej -> zawsze zezwalaj
  6. Uderzając z zewnętrznego urządzenia do uruchomionej aplikacji w visualu używasz takiego urla: „http://ADRES_IP_MASZYNY: ZEW_NR_PORTU” gdzie ADRES_IP_MASZYNY to jak sama nazwa wskazuje adres IP maszyny, na którym uruchomiana jest aplikacja (w wierszu poleceń wpisz „ipconfig” i skopiuj adres o nazwie „IPv4 Address”, ZEW_NR_PORTU to port, który wpisałeś w komendzie „iisexpress-proxy NR_PORTU to ZEW_NR_PORTU”.
  7. Włala 🙂

W moim przypadku maszyna i urządzenie uderzające (telefon) są w tej samej sieci więc nie wiem jak to by było gdyby urządzenia były w różnych sieciach bo jak wcześniej pisałem nie znam się, to się nie wypowiadam 🙂 Trzeba tylko pamiętać, że wiersz poleceń w którym uruchomiliśmy to proxy musi być cały czas otwarty, bo to nasłuchiwanie portu lata w tle.

Teraz mogę sobie spokojnie deweloperować zarówno w API ASP.NET5 jak i w Androidzie – pierwszy hint na temat projektu, który chodzi mi po głowie 😉 Więcej 1szego marca wraz ze startem konkursu #dajsiepoznac

PJONA

git commit -m „Hello world!”

Hej wszystkim.

Przedstawiać się nie muszę bo jak wół jest w headerze strony 🙂 To mój pierwszy w życiu post w blogosferze i szeroko pojętych „internetach” (bo chyba postowanie na fejsie zdjęć małych i słodkich kotków się nie liczy?).

Blog ten jest wynikiem ogłoszenia konkursu #dajsiepoznac oraz pomysłu na projekt, który chodzi mi po głowie od jakiegoś czasu… ale to na razie tyle. Więcej później jak się nauczę obsługiwać wordpressa (do 1szego marca chyba się wyrobie) ;).

Zawsze chciałem to napisać:

Stay tuned! 😉