Kestrel to serwer webowy umożliwiający hostowanie aplikacji .NET na różnych środowiskach w tym Linux i Mac.

Pamiętacie komendy z poprzedniego postu? Jeżeli chcemy hostować aplikację webową (której jeszcze nie mamy i pewnie w tym poście też jej mieć nie będziemy ;)) na wszystkich możliwych platformach to musimy lekko zmodyfikować nasz projekt dodając odpowiednie zależności i tworząc nową komendę.

Komenda ta będzie przeważnie wyglądać tak:

"kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5002"

Gdzie:

  • kestrel to alias
  • Microsoft.AspNet.Hosting to aplikacja umożliwiająca hostowanie aplikacji .NETowych… ech masło maślane, ale coś co umożliwia nam odpalenie tych naszych aplikacji
  • server to informacja z jakiego serwera mamy korzystać w tym wypadku Kestrel
  • server.urls to url pod jakim hostujemy naszą aplikację.

By móc ustawić serwer potrzebna jest zależność do Kestrel, czyli nasz plik project.json wygląda tak:

{
    "dependencies": {
        "Kestrel": "1.0.0-*"        
    },
    "commands": {
        "kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5002"
    },
    "frameworks": {
         "dnx451": { },
         "dnxcore50": { }
    }
}

Teraz odpalenie naszej aplikacji to:

dnx . kestrel

teraz tylko, w w Widnows, wyjście z tego jest proste, enter i po kłopocie.

Na macu i na linuxie jednak mi to nie działało, to co muszę zrobić to:

ctrl+z
kill %1

Gdzie ctrl+z wychodzi z procesu, a kill %1 go ubija :)

Warto więc o tym wiedzieć bo się można nieźle nastukać w klawiaturę by z tego wyjść :)

3 KOMENTARZE

  1. A jaki jest status Kestrela? Jakiś czas temu był jawnie określano jako devowy (czyli produkcja – niet) i że taki raczej długo pozostanie. Coś się tu zmieniło?

  2. @KonradKokosa

    Kestrel ogolnie jest i bedzie serverem dev, tak jak zreszta web hosting domyslny w ASP.NET 5. Ale to nie znaczy, ze nie mozna na tym hostowac aplikacji ktore beda odpalane na przykald z exe lub z DLL – malych stron itp.

    Wiem ze jest w planach danie mozliwosci hostowania na innych serwerach i na pewno jest tez otwarta mozliwosc dodania takiego hostingu – wystarczy go zaimplementowac :)

    na razie, ASP.NET 5 nie jest moim zdaniem jeszcze “production” ready, ale nie jest od tego dalekie – musza zamknac Core CLR, i jak to zrobia, pewnie cos ekstra wyjdzie.

    Na windows juz jest Helios, ktory umozliwia hostowanie na iis express i na iis. i sluszalem ze cos podobnego bedzie mozliwe na innych platformach. kiedy? nie wiem :(

Comments are closed.