Tarayıcı uygulamalarında gRPC kullanma
Yayınlayan James Newton-King
Bir tarayıcıdan gRPC hizmetini doğrudan çağırmak mümkün değildir. gRPC HTTP/2 özelliklerini kullanır ve hiçbir tarayıcı bir gRPC istemcisini desteklemek için web istekleri üzerinde gereken denetim düzeyini sağlamaz.
gRPC on ASP.NET Core, gRPC-Web ve gRPC JSON transcoding şeklinde tarayıcı uyumlu iki çözüm sunar.
gRPC-Web
gRPC-Web, tarayıcı uygulamalarının gRPC-Web istemcisi ve Protobuf ile gRPC hizmetlerini çağırmasına olanak tanır.
- Normal gRPC'ye benzer, ancak HTTP/1.1 ve tarayıcılarla uyumlu hale getiren biraz farklı bir kablo protokolüne sahiptir.
- Tarayıcı uygulamasının bir dosyadan gRPC istemcisi oluşturmasını
.proto
gerektirir. - Tarayıcı uygulamalarının ikili iletilerin yüksek performanslı ve düşük ağ kullanımından yararlanmasına olanak tanır.
.NET, gRPC-Web için yerleşik desteğe sahiptir. Daha fazla bilgi için bkz . ASP.NET Core gRPC uygulamalarında gRPC-Web.
gRPC JSON kodlama
gRPC JSON kodlama, tarayıcı uygulamalarının gRPC hizmetlerini ON ile JSgerçek API'lermiş RESTgibi çağırmasına olanak tanır.
- Tarayıcı uygulamasının gRPC istemcisi oluşturması veya gRPC hakkında bir şey bilmesi gerekmez.
- RESTful API'ler, http meta verileriyle dosyaya
.proto
ek açıklama eklenerek gRPC hizmetlerinden otomatik olarak oluşturulur. - Bir uygulamanın her ikisi için de ayrı hizmetler oluşturma çabasını yinelemeden hem gRPC JShem de ON web API'lerini desteklemesine izin verir.
.NET, gRPC hizmetlerinden ON web API'leri oluşturmak JSiçin yerleşik desteğe sahiptir. Daha fazla bilgi için bkz. ASP.NET Core gRPC uygulamalarında gRPC JSON kodlama.
Dekont
gRPC JSON kodlaması için .NET 7 veya üzeri gerekir.
Ek kaynaklar
ASP.NET Core
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin