Aracılığıyla paylaş


Tarayıcı uygulamalarında gRPC kullanma

Not

Bu, bu makalenin en son sürümü değildir. Geçerli sürüm için bu makalenin .NET 8 sürümüne bakın.

Uyarı

ASP.NET Core'un bu sürümü artık desteklenmiyor. Daha fazla bilgi için bkz . .NET ve .NET Core Destek İlkesi. Geçerli sürüm için bu makalenin .NET 8 sürümüne bakın.

Önemli

Bu bilgiler, ticari olarak piyasaya sürülmeden önce önemli ölçüde değiştirilebilen bir yayın öncesi ürünle ilgilidir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.

Geçerli sürüm için bu makalenin .NET 8 sürümüne bakın.

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 dönüştürme

gRPC JSON kodlama, tarayıcı uygulamalarının gRPC hizmetlerini JSON ile RESTful API'leriymiş gibi ç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'leri, 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 hem de JSON web API'lerini desteklemesine izin verir.

.NET, gRPC hizmetlerinden JSON web API'leri oluşturmak için yerleşik desteğe sahiptir. Daha fazla bilgi için bkz . ASP.NET Core gRPC uygulamalarında gRPC JSON kodlaması dönüştürme.

Not

gRPC JSON kodlaması için .NET 7 veya üzeri gerekir.

Ek kaynaklar