Get ()
{
// Dette genererer noen tilfeldige værmeldingsdata
var rng =ny tilfeldig ();
returnerer
{
Dato =DateTime.now.addays (indeks),
Temperaturec =rng.next (-20, 55),
Sammendrag =Sammendrag [RNG.Next (Summaries.Length)]
})
.ToArray ();
}
}
// dette er en enkel datamodell som representerer en værmelding
Offentlig klasse WeatherForecast
{
public DateTime Date {get; sett; }
public int temperaturec {get; sett; }
offentlig strengoppsummering {get; sett; }
// dette er en eiendom som beregner temperaturen i Fahrenheit
offentlig int temperaturf => 32 + (int) (Temperaturec / 0.5556);
}
}
`` `
Forklaring:
1. Bruke direktiver:
* `Bruke system;`:Importer systemets navneområde, som gir grunnleggende klasser som `DateTime`,` Random`, etc.
* `Bruke System.Collections.Generic;`:Importer de generiske samlingene navneområdet, og gir klasser som `iEnumerable`,` list`, etc.
* `Bruke System.Linq;`:Importer LINQ -navneområdet, og gir metoder for å jobbe med samlinger.
* `Bruke System.Threading.Tasks;`:Importer oppgavens navneområde, og tillater asynkrone operasjoner.
* `Bruke Microsoft.aspnetcore.mvc;`:Importer ASP.NET Core MVC -navneområdet, og leverer klasser som `ControllerBase`,` httpget`, `apicontroller`, etc.
2. Navneområde:
* `Navnområde MyAspNetCoreApp`:Definerer navneområdet for koden, som hjelper til med å organisere og unngå navnekonflikter.
3. Kontrollerklasse:
* `[Apicontroller]`:Et attributt som indikerer at denne klassen er en kontroller, ansvarlig for håndtering av forespørsler.
* `[Rute (" [kontroller] ")]`:Definerer basisveien for kontrolleren, som betyr at forespørsler til `/Weatherforecast` vil bli håndtert av denne kontrolleren.
* `offentlig klasse WeatherForeCastController:ControllerBase`:Denne linjen definerer kontrollerklassen, som arver fra` ControllerBase`. `ControllerBase` -klassen gir metoder for håndtering av HTTP -forespørsler og svar.
4. Handlingsmetode:
* `[Httpget]`:attributt som spesifiserer denne metoden håndterer Få forespørsler.
* `Offentlig IEnumerable Get ()`:Metodedefinisjonen.
* `IEnumerable `:Returtypen, som indikerer at denne metoden vil returnere en samling av `WeatherForecast` -objekter.
* `Get ()`:Metodens navn, som også er ruten for denne spesifikke forespørselen.
* Inne i metoden:
* `var rng =new Random ();`:Oppretter en ny forekomst av `tilfeldig '-klassen, brukt til å generere tilfeldige verdier.
* `Enumerable.Range (1, 5) .Selekt (indeks => Ny WeatherForecast ...)`:Denne linjen oppretter en samling av 5 værvarslede objekter ved bruk av LINQ.
* `Return ... .ToArray ();`:Returnerer den genererte samlingen som en matrise.
5. Datamodell:
* `offentlig klasse WeatherForecast`:Definerer en enkel klasse som representerer en værmelding.
* `public DateTime Date {get; sett; } `:Representerer datoen for prognosen.
* `offentlig int Temperaturec {get; sett; } `:Representerer temperaturen i Celsius.
* `offentlig strengsammendrag {get; sett; } `:Representerer et sammendrag av værforholdene.
* `offentlig int Temperaturf => 32 + (int) (Temperaturec / 0.5556);`:En beregnet egenskap som konverterer Celsius til Fahrenheit.
Sammendrag:
Dette programmet demonstrerer den grunnleggende strukturen til en ASP.NET Core MVC -applikasjon, inkludert:
* kontroller: Håndterer forespørsler basert på ruter.
* Handlingsmetode: Behandler spesifikke forespørsler i en kontroller.
* Datamodell: Representerer dataene som blir håndtert av applikasjonen.
* attributter: Brukes til å definere oppførselen til klasser og metoder.
Dette eksemplet er enkelt, men det gir et grunnlag for å bygge mer komplekse applikasjoner. Du kan utvide det ved å legge til flere kontrollere, handlingsmetoder og datamodeller, i tillegg til å bruke andre ASP.NET -kjernefunksjoner som mellomvare, avhengighetsinjeksjon og databaseintegrasjon.