.NET 10.0'daki yenilikler [18]: Dosya tabanlı bir uygulama olarak web sunucusu

kapanış bildirimi

Bu makale İngilizce olarak da mevcuttur. Teknik yardımla tercüme edildi ve yayınlanmadan önce editoryal olarak gözden geçirildi.

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; }
}

Uygulama ekranı örneği

Uygulama ekranı örneği

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


(Ben)


Yayımlandı

kategorisi

yazarı:

Etiketler:

Yorumlar

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir