Tworzenie usług sieciowych REST API w technologii .NET Core 2.2 (październik 2019)

Seria 3 pytań uczestników, które pojawiły się podczas szkolenia Tworzenie usług sieciowych REST API w technologii .NET Core 2.2 realizowanego w dniach 2-4.10.2019 r.


W jaki sposób utworzyć własną regułę w routingu na wzór int, regex, itp?

Należy zaimplementować interfejs IRouteConstraint a dokładnie metodę Match(), która zwraca wartość logiczną. Następnie należy zarejestrować naszą regułę w klasie Startup: public void ConfigureServices(IServiceCollection services) { services.Configure(options => { options.ConstraintMap.Add("pesel", typeof(PeselRouteConstraint)); }); } Przykład reguł do walidacji numerów NIP, Pesel, itd: https://github.com/sulmar/dotnet-core-routecontraint-polish-validators

Co dokładnie robi metoda WebHost.CreateDefaultBuilder w Program.cs?

Metoda rejestruje pobieranie konfiguracji ze zmiennych środowiskowych, pliku json, secret keys oraz linii poleceń. Dodatkowo rejestruje usługi do logowania na konsolę, debug oraz dziennika zdarzeń. Kod źródłowy metody CreateDefaultBuilder() znajduje się tutaj: https://github.com/aspnet/AspNetCore/blob/1480b998660d2f77d0605376eefab6a83474ce07/src/DefaultBuilder/src/
WebHost.cs#L155 Dokładna analiza znajduje się w artykule: https://dotnetcoretutorials.com/2019/07/31/what-does-the-createdefaultbuilder-method-do-in-asp-net-core/

Utworzyłem aplikację konsolową. W jaki sposób wygenerować plik exe?

Z folderu gdzie znajduje się projekt należy wykonać polecenie: dotnet publish -c Release -r win10-x64 W katalogu publish powstanie plik exe oraz załączone zostaną wszystkie potrzebne biblioteki. W .NET Core 3.0 w systemie Windows plik exe tworzony jest automatycznie.