asp.net-core Handledning
Komma igång med asp.net-core
Sök…
Anmärkningar
.NET Core är en utvecklingsplattform för allmänna ändamål som upprätthålls av Microsoft och .NET-communityn på GitHub. Det är en plattform som stöder Windows, macOS och Linux och kan användas i enhets-, moln- och inbäddade / IoT-scenarier.
Följande egenskaper definierar bäst .NET Core:
- Flexibel distribution: Kan inkluderas i din app eller installeras sida för sida användare eller maskinomfattande.
- Cross-platform: Kör på Windows, macOS och Linux; kan portas till andra operativsystem. De stödda operativsystemen (OS), CPU: er och applikationsscenarier kommer att växa med tiden, tillhandahållna av Microsoft, andra företag och individer.
- Kommandoradsverktyg: Alla produktscenarier kan utövas på kommandoraden.
- Kompatibel: .NET Core är kompatibel med .NET Framework, Xamarin och Mono, via .NET Standard Library.
- Open source: .NET Core-plattformen är open source, med MIT- och Apache 2-licenser. Dokumentation är licensierad enligt CC-BY. .NET Core är ett .NET Foundation-projekt.
- Stöds av Microsoft: .NET Core stöds av Microsoft per. NET Core-support
versioner
Version | Släppanteckningar | Utgivningsdatum |
---|---|---|
RC1 * | 1.0.0-RC1 | 2015/11/18 |
RC2 * | 1.0.0-rc2 | 2016/05/16 |
1.0.0 | 1.0.0 | 2016/06/27 |
1.0.1 | 1.0.1 | 2016/09/13 |
1,1 | 1,1 | 2016/11/16 |
Installation och installation
Installera Visual Studio
Om du inte har Visual Studio installerat kan du ladda ner gratis Visual Studio Community Edition här . Om du redan har det installerat kan du gå vidare till nästa steg.
Skapa en ASP.NET Core MVC-applikation.
- Öppna Visual Studio.
- Välj Arkiv> Nytt projekt.
- Välj webb under det språk du väljer i avsnittet Mallar till vänster.
- Välj en önskad projekttyp i dialogrutan.
- Valfritt: Välj ett .NET-ramverk som du vill rikta in dig på
- Namnge ditt projekt och ange om du vill skapa en lösning för projektet.
- Klicka på OK för att skapa projektet.
Du får en annan dialog för att välja den mall du vill använda för projektet:
Var och en av beskrivningarna är självförklarande. För detta första projekt väljer du webbapplikation , som kommer att innehålla alla standardkonfigurationer, autentisering och en del befintligt innehåll.
Eftersom detta är en introduktionsapplikation och inte kräver någon säkerhet eller verifiering, kan du ändra autentiseringsalternativet till Ingen autentisering till höger i dialogrutan och klicka på OK för att skapa projektet .
Du bör sedan se det nya projektet i Solution Explorer:
Tryck på F5 för att köra applikationen och starta en felsökningssession, som kommer att starta applikationen i din standardwebbläsare:
Du kan nu se att ditt projekt är igång lokalt och är redo som en utgångspunkt för dig att bygga din applikation.
Skapa ett nytt projekt från kommandoraden
Det är möjligt att skapa ett nytt ASP.NET Core-projekt helt från kommandoraden med hjälp av dotnet
kommandot.
dotnet new web
dotnet restore
dotnet run
dotnet new web
ett nytt "tomt" webbprojekt. Den web
-parametern berättar dotnet
verktyg att använda i ASP.NET Core Empty
mall. Använd dotnet new -all
att visa alla tillgängliga mallar som för närvarande är installerade. Andra viktiga mallar inkluderar console
, classlib
, mvc
och xunit
.
När mallen har ställts ut kan du återställa paketen som krävs för att köra projektet ( dotnet restore
) och kompilera och starta det ( dotnet run
).
När projektet är igång kommer det att vara tillgängligt i standardporten: http: // localhost: 5000
Minimal ASP.NET Core Web API med ASP.NET Core MVC
Med ASP.NET Core 1.0 har MVC- och Web API-ramverket sammanfogats till en ram som kallas ASP.NET Core MVC. Detta är bra eftersom MVC och Web API delar mycket funktionalitet, men det fanns alltid subtila skillnader och kodduplicering.
Men att sammanslå dessa två till ramverk gjorde det också svårare att skilja varandra från en annan. Till exempel representerar Microsoft.AspNet.WebApi
Web API 5.xx-ramverket, inte det nya. Men när du inkluderar Microsoft.AspNetCore.Mvc
(version 1.0.0
) får du hela paketet. Detta kommer att innehålla alla out-of-the-box-funktioner som MVC-ramverket erbjuder. Såsom rakkniv, taghjälpare och modellbindning.
När du bara vill bygga ett webb-API behöver vi inte alla dessa funktioner. Så hur bygger vi ett minimalistiskt webb-API? Svaret är: Microsoft.AspNetCore.Mvc.Core
. I den nya världen delas MVC upp i flera paket och detta paket innehåller bara kärnkomponenterna i MVC-ramverket, såsom routing och godkännande.
I det här exemplet skapar vi ett minimalt MVC API. Inklusive en JSON-formaterare och CORS. Skapa en tom ASP.NET Core 1.0 webbapplikation och lägg till dessa paket till ditt projekt.json:
"Microsoft.AspNetCore.Mvc.Core": "1.0.0",
"Microsoft.AspNetCore.Mvc.Cors": "1.0.0",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.0"
Nu kan vi registrera MVC med hjälp av AddMvcCore()
i startklassen:
public void ConfigureServices(IServiceCollection services)
{
services.AddMvcCore()
.AddCors()
.AddJsonFormatters();
}
AddMvcCore
returnerar en IMvcCoreBuilder
instans som tillåter ytterligare byggnad. Konfigurera mellanprogrammet är samma som vanligt:
public void Configure(IApplicationBuilder app)
{
app.UseCors(policy =>
{
policy.AllowAnyOrigin();
});
app.UseMvc();
}
controllers
Den 'gamla' webb-API kommer med en egen ApiController
controller: ApiController
. I den nya världen finns det inget sådant, bara standard Controller
klassen. Tyvärr är detta en ganska stor basklass och den är knuten till modellbindning, åsikter och JSON.NET.
Lyckligtvis behöver inte de nya ramkontrollklasserna härleda från Controller
för att plockas upp av routningsmekanismen. Att bara lägga till namnet med Controller
räcker. Detta gör att vi kan bygga en egen basklass för kontrollenheter. Låt oss kalla det ApiController
, bara för gamla tider:
/// <summary>
/// Base class for an API controller.
/// </summary>
[Controller]
public abstract class ApiController
{
[ActionContext]
public ActionContext ActionContext { get; set; }
public HttpContext HttpContext => ActionContext?.HttpContext;
public HttpRequest Request => ActionContext?.HttpContext?.Request;
public HttpResponse Response => ActionContext?.HttpContext?.Response;
public IServiceProvider Resolver => ActionContext?.HttpContext?.RequestServices;
}
Attributet [Controller]
indikerar att typen eller någon härledd typ betraktas som en controller av standardkontrollens upptäckningsmekanism. [ActionContext]
anger att egenskapen ska ställas in med den aktuella ActionContext
när MVC skapar styrenheten. ActionContext
ger information om den aktuella begäran.
ASP.NET Core MVC erbjuder också en
ControllerBase
klass som tillhandahåller en baskontroll för kontroller bara utan visningar. Men det är fortfarande mycket större än vårt. Använd den om du tycker att det är bekvämt.
Slutsats
Vi kan nu bygga ett minimalt webb-API med det nya ASP.NET Core MVC-ramverket. Den modulära paketstrukturen låter oss bara dra in de paket vi behöver och skapa en mager och enkel applikation.
Använda Visual Studio-kod för att utveckla korsapplikationer med Aspnet-kärna
Med AspNetCore kan du utveckla applikationen på vilken plattform som helst, inklusive Mac, Linux, Window och Docker.
Installation och SetUp
- Installera Visual Studio Code härifrån
- Lägg till C # extesnion
- Installera dot net core sdk. Du kan installera härifrån
Nu har du alla tillgängliga verktyg. Att utveckla applikationen. Nu behöver du något alternativ för ställning. För det bör du överväga att använda Yeoman. För att installera Yeoman
Installera NPM. För detta behöver du nod på din maskin. Installera härifrån
Installera Yeoman med NPM
npm installera -g yo
Installera nu aspnet-generatorn
npm installera -g generator-aspnet
Nu har vi all installation på din maskin. Låt oss först skapa ett nytt projekt med DotNetCore baskommando och sedan skapa ett nytt projekt med Yo.
Nytt projekt med kommandoraden
Skapa en ny projektmapp
mkdir CoreApplication cd CoreApplication
Ställ in ett mycket grundläggande dotnet-projekt med standardkommandorad
dotnet Nytt
Använd Yeoman som ställningsalternativ
Skapa projektmapp och kör Yo-kommandot
yo aspnet
Yeoman kommer att fråga några input som projekttyp, projektnamn osv
Återställ nu paketen genom att köra dotnet återställningskommandot och Kör applikationen
Använd VS-kod för att utveckla applikationen
Kör den visuella studiokoden som
Öppna nu filerna och kör applikationen. Du kan också söka i tillägget efter din hjälp.
Inställningsmiljövariabel i ASP.NET Core [Windows]
ASP.NET Core använder ASPNETCORE_ENVIRONMENT
att bestämma den aktuella miljön. Som standard, om du kör din applikation utan att ställa in detta värde, kommer den automatiskt att vara Production
.
> dotnet run
Project TestApp (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.
Hosting environment: Production
Content root path: C:\Projects\TestApp
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
Ställa in miljövariabeln i Windows
Vid kommandoraden
Du kan enkelt ställa in en miljövariabel från en kommandotolk med kommandot setx.exe som ingår i Windows. Du kan använda den för att enkelt ställa in en användarvariabel:
>setx ASPNETCORE_ENVIRONMENT "Development"
SUCCESS: Specified value was saved.
Observera att miljövariabeln inte är inställd i det nuvarande öppna fönstret. Du måste öppna en ny kommandotolk för att se den uppdaterade miljön. Det är också möjligt att ställa in systemvariabler (snarare än bara användarvariabler) om du öppnar en administratörskommando och lägger till / M-omkopplaren:
>setx ASPNETCORE_ENVIRONMENT "Development" /M
SUCCESS: Specified value was saved.
Använda PowerShell Alternativt kan du använda PowerShell för att ställa in variabeln. I PowerShell, liksom de vanliga användar- och systemvariablerna, kan du också skapa en tillfällig variabel med kommandot $Env:
:
$Env:ASPNETCORE_ENVIRONMENT = "Development"
Den skapade variabeln varar bara under din PowerShell-session - när du stänger fönstret återgår miljön till standardvärdet.
Alternativt kan du ställa in användar- eller systemmiljövariabler direkt. Den här metoden ändrar inte miljövariablerna i den aktuella sessionen, så du måste öppna ett nytt PowerShell-fönster för att se dina ändringar. Som tidigare krävs administrativ åtkomst för att ändra systemvariablerna
[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "User")
[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "Machine")
Använda Windows-kontrollpanelen Om du inte är en fan av kommandotolken kan du enkelt uppdatera dina variabler med musen! Klicka på Windows-meny-knappen (eller tryck på Windows-tangenten), sök efter environment variables
och välj Redigera miljö variabler för ditt konto:
Om du väljer detta alternativ öppnas dialogrutan Systemegenskaper
Klicka på Miljövariabler för att se listan över aktuella miljövariabler på ditt system.
Förutsatt att du inte redan har en variabel som heter ASPNETCORE_ENVIRONMENT
, klicka på knappen Ny ... och lägg till en ny kontomiljövariabel: Klicka på OK för att spara alla dina ändringar. Du måste öppna alla kommandofönster igen för att se till att de nya miljövariablerna laddas.