Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 54622|Yanıt: 0

[Kaynak] .NET Core, gRPC HTTP (TLS korumasız) adres hata çözümleri çağırıyor

[Bağlantıyı kopyala]
2021-3-22 tarihinde 16:45:16 tarihinde yayınlandı | | | |
gRPC, dil bağımsız yüksek performanslı uzaktan işlem çağrısı (RPC) çerçevesidir.

gRPC'nin başlıca faydaları şunlardır:

Modern, yüksek performanslı, hafif RPC çerçevesi.
Varsayılan olarak protokol tamponlarını kullanan, dil bağımsız uygulamalara olanak tanıyan sözleşme öncelikli API geliştirme.
Güçlü tipli sunucular ve istemci oluşturmak için birden fazla dilde mevcut araçlar.
İstemci, sunucu ve iki yönlü akış çağrılarını destekler.
Protobuf ikili serileştirme ile ağın kullanımını azaltın.

Bu avantajlar gRPC'yi şu amaçlar için uygun kılar:

Verimliliğin kritik olduğu hafif mikroservisler.
Geliştirme için birden fazla dil gerektiren çok dilli sistemler.
Akış isteği veya yanıtlarını yönetmesi gereken eşler arası gerçek zamanlı hizmetler.

Eleştiri:
Pratik dövüş: ASP.NET Core gRPC iletişimi kullanır
https://www.itsvse.com/thread-8834-1-1.html

.net/c# Google Protokol Tamponları Hızlı Başlat
https://www.itsvse.com/thread-3626-1-1.html

.net/c# Google Protokol Tamponları eğitimi
https://www.itsvse.com/thread-3668-1-1.html

ASP.NET Core 3.1 kullanıldığında, bir gRPC servisi etkinleştirilir ve HTTP/2 uç noktası TLS koruması olmadan yapılandırılır, bkz:Bağlantı girişi görünür.

.NET Core 3.1 konsolunu kullanarak HTTP gRPC servis adresini çağırmaya çalıştım ama aşağıdaki hatayla karşılaştım:


Çözülemeyen istisna. Grpc.Core.RpcException: Status(StatusCode="Unavailable", Detail="gRPC çağrısının başlatılmasında hata. HttpRequestException: İstek gönderilirken bir hata meydana geldi. IOException: Yanıt erken sona erdi.", DebugException="System.Net.Http.HttpRequestException: Istek gönderilirken bir hata meydana geldi.
---> System.IO.IOException: Yanıt erken sona erdi.



Uygulamanızın kullandığı .NET sürümüne bağlı olarak, güvensiz bir gRPC servisi çağırmak için bazı ek gereksinimler vardır:

.NET 5 veya daha yeni sürümler Grpc.Net.Client sürüm 2.32.0 veya daha üzerini gerektirir.
.NET Core 3.x ek yapılandırma gerektirir. Uygulama, System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport anahtarını doğru olarak ayarlamalıdır:


İstemci ayarları aşağıdaki gibidir:

Yalnızca .NET Core 3.x, System.Net.Http.SocketsHttpHandler.Http2UnencryptedSupport anahtarını gerektirir. .NET 5'te ek yapılandırma gerekmez ve bu gereksinim de yoktur


Bağlantı girişi görünür.





Önceki:.NET/C# Yansıtma, Emit, İfade performans testi
Önümüzdeki:Geç kalan yeni katılımcı raporları
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com