Microsoft, C# dosyalarını doğrudan çeviren ve başlatan dosya tabanlı uygulamaları çağırır. Ayrıca bu uygulamanın içinde bir Kestrel web sunucusu başlatabilirsiniz. Aşağıdaki örnek, tek başına bir C# dosyası olarak minimum düzeyde bir ASP.NET Core web API'sini gösterir. Barındırma, ASP.NET Core'da bulunan Kestrel web sunucusunda gerçekleşir.
Duyurudan sonra devamını okuyun
Dr. Holger Schwichtenberg, 53 tanınmış uzmanıyla çok sayıda orta ve büyük ölçekli şirketi danışmanlık, eğitim ve yazılım geliştirme yoluyla destekleyen www.IT-Visions.de uzman ağının teknik direktörüdür. Çok sayıda ulusal ve uluslararası konferansa katılımı, 90'dan fazla uzmanlık kitabı ve 1.500'den fazla uzmanlık makalesi sayesinde Holger Schwichtenberg, .NET ve web teknolojileri konusunda Almanya'nın en tanınmış uzmanlarından biridir.
Dosya tabanlı uygulamada Microsoft.NET.Sdk.Web SDK olarak belirtildi. NuGet paketleri gibi Microsoft.AspNetCore.OpenApi VE Humanizer kullanılmış. Dosya tabanlı uygulamalarda standart olan ileri derleme, JSON seri hale getirici uyarılarını önlemek için burada devre dışı bırakılmıştır.
Aşağıdaki kod, minimum WebAPI uç noktasına ve OpenAPI meta verilerine sahip ASP.NET Core tabanlı web sunucusunu gösterir:
#:sdk Microsoft.NET.Sdk.Web
#:package Microsoft.AspNetCore.OpenApi@10.*-*
#:package [email protected]
#:property Version=1.1.4
#:property PublishAot=false
using Humanizer;
using Microsoft.OpenApi;
// Webserver einrichten
var builder = WebApplication.CreateBuilder();
builder.Services.AddOpenApi();
var app = builder.Build();
app.MapOpenApi(); // http://localhost:5000/openapi/v1.json
app.MapGet("/", () =>
{
// Daten für Operation
var d = new Data
{
Version = "9.0",
Release = "2024-11-12"
};
var dotNet9Released = DateTimeOffset.Parse(d.Release);
var since = DateTimeOffset.Now - dotNet9Released;
return $"It has been {since.Humanize()} since .NET {d.Version} was released.";
});
app.MapGet("/data", () =>
{
var d = new Data
{
Version = "9.0",
Release = "2024-11-12"
};
return Results.Json(d);
});
app.Run();
class Data
{
/// <summary>
/// Version of the .NET release.
/// </summary>
public string? Version { get; set; }
/// <summary>
/// Release date of the .NET version.
/// </summary>
public string? Release { get; set; }
}

Web sunucusunu başlatma ve sunucudan çıkma (Şekil 1)
(Ben)

Bir yanıt yazın