← Webbserverprogrammering 1 Område 1 · Webbservern, Blazor och arkitektur Felsökning

Webbserverprogrammering 1 · område 1 · v.34–36

Webbservern, Blazor och projektets arkitektur

Innan du skriver en enda rad applikationskod på egen hand ska du ha två saker: en fungerande bild av vad en webbserver gör, och en karta över ditt eget projekt. Området har ingen tenta – det som bedöms är sajten du lämnar in och hur du arbetar under lektionerna.

1. Fem lektioner

Området är komprimerat till fem lektioner eftersom skolstarten tog tisdagen den 18 augusti.

#DatumLängdVad vi gör
1ons 19 aug45 min Kursintro och verktygskedjan. Du skapar ditt repo, ditt projekt och kör det.
2tis 25 aug85 min Klient och server: vad som faktiskt händer vid en förfrågan. GET, POST, statuskoder, DNS. Referenssidan.
3ons 26 aug45 min Blazor Web App och renderingslägen. Varför kursen håller sig på serversidan. Referenssidan.
4tis 1 sept85 min Projektets arkitektur: vilken fil gör vad, och i vilken ordning körs de. Referenssidan.
5ons 2 sept45 min Färdigställ och lämna in. Deadline samma kväll kl 23:59. Sidan för sista passet.

2. Det här ska sitta

3. Kom igång

Det här gjorde vi på lektion 1. Har du missat passet, eller bytt dator, gör du samma sak igen.

Har du missat ett senare pass tar du igen det i guiden. Den går hela vägen från tomt projekt till färdig sajt, med all kod, och varje referenssida säger överst vad du ska göra om du var borta.

Skapa repot tomt

När du skapar repot på github.com: bocka inte i "Add a README file", ingen .gitignore och ingen licens. Ett repo som redan har en fil vägrar ta emot din första push, och felmeddelandet berättar inte varför.

StegDet du gör
1Logga in på github.com och skapa ett tomt, publikt repo som heter webbresan.
2Kör en gång per dator: git config --global user.name "Ditt Namn" och git config --global user.email "din.skolmejl@exempel.se"
3Skapa projektet: dotnet new blazor -o Webbresan -int None
4Gå in i mappen och kör det: cd Webbresan och dotnet run
5Öppna adressen terminalen skriver ut. "Hello, world!" ska synas.
6Stoppa servern med Ctrl+C och koppla på GitHub: git init, git add ., git commit -m "Första körningen", git branch -M main, git remote add origin …, git push -u origin main
Prova själv

Be en klasskamrat om adressen till deras körande projekt och försök öppna den. Det går inte. Det är innebörden av localhost: den här datorn, ingen annan.

4. Så lämnar du in

Koden ligger på GitHub. itslearning tar emot länken till den. Kort version: kontrollera att projektet startar, gå igenom kraven, committa och pusha, och klistra in repots adress i itslearning.

Hela ordningen, kamratgranskningen och det som brukar gå fel den sista timmen står på Lämna in. Läs den innan du pushar sista gången.

Committa löpande under arbetets gång, inte allt sista kvällen. Antalet commits är ett krav i uppgiften just därför – historiken visar när du arbetade, inte bara att du gjorde det.

5. Felsökning

Sök på felmeddelandet du fick, eller på ett ord ur det.

11 rader

SymptomTrolig orsakÅtgärd
dotnet: command not found.NET SDK saknas, eller PATH är felInstallera .NET 10 SDK. Starta om terminalen efteråt.
The template "blazor" could not be foundFör gammal SDKdotnet --version ska svara 10.x. Uppdatera annars.
Terminalen hänger utan promptServern kör – det är meningenCtrl+C stoppar den. Öppna en andra terminal om du vill köra git samtidigt.
Address already in useEn gammal dotnet run kör kvarStäng den terminalen, eller starta om datorn.
Ändringen syns inte i webbläsarenServern startades inte omCtrl+C och dotnet run igen.
Please tell me who you aregit config är inte kördKör de två raderna med user.name och user.email.
Updates were rejected / non-fast-forwardDin push avvisas eftersom repot skapades med READMEEnklast: ta bort repot på GitHub och skapa ett nytt, utan bockar.
Repository not foundDin push går till fel adress – användarnamnet stämmer integit remote -v visar vad som är inställt. Rätta med git remote set-url origin …
src refspec main does not match anyDu försöker pusha utan att ha gjort en commitgit add . och git commit -m "…" först.
Support for password authentication was removedDu skrev ditt lösenord när du pushadeLogga in via Visual Studio Code, eller skapa en personal access token på GitHub.
remote origin already existsremote add körd två gångergit remote set-url origin … i stället.

6. Orden

Orden nedan används från och med nu utan förklaring. Träna tills du kan dem.

Ordträning

OrdBetyder
webbserverProgram som tar emot förfrågningar över nätet och skickar tillbaka svar.
localhostAdressen till din egen dator. Ingen annan når den.
portNumret efter kolon i adressen. Talar om vilket program på datorn som ska svara.
requestFörfrågan från webbläsaren till servern.
responseServerns svar, med statuskod, headers och innehåll.
statuskodTresiffrigt tal i svaret som säger hur det gick. 200 lyckades, 404 fanns inte.
statisk serverrenderingServern bygger färdig HTML och skickar den. Ingen kod körs sedan i webbläsaren.
SDKVerktygen du behöver för att bygga och köra .NET-program. dotnet är kommandot.
repoMappen med ditt projekt plus hela dess historik. Ligger både lokalt och på GitHub.
commitEn sparad punkt i historiken, med ett meddelande om vad du ändrade.
pushAtt skicka upp dina commits till GitHub.
cloneAtt hämta ned ett helt repo till en dator.