Azure SignalR Hizmeti SSS

Azure SignalR Hizmeti üretim kullanımına hazır mı?

Evet, hem ASP.NET Core SignalR hem de ASP.NET SignalR desteği genel kullanıma sunulmuştur.

Birden çok uygulama sunucusu olduğunda, istemci iletileri tüm sunuculara mı yoksa yalnızca birine mi gönderilir?

İstemci ile uygulama sunucusu arasında bire bir eşleme vardır. Bir istemciden gelen iletiler her zaman aynı uygulama sunucusuna gönderilir.

eşleme, istemci veya uygulama sunucusu bağlantısı kesilene kadar korunur.

Uygulama sunucularımdan biri çalışmıyorsa, bunu nasıl bulup bilgilendirebilirim?

Azure SignalR Hizmeti, uygulama sunucularından gelen sinyalleri izler. Sinyaller belirli bir süre boyunca alınmazsa, uygulama sunucusu çevrimdışı olarak kabul edilir. Bu uygulama sunucusuna eşlenen tüm istemci bağlantılarının bağlantısı kesilir.

ASP.NET Core SignalR SDK'sından Azure SignalR Hizmeti SDK'ya geçiş yaparken özel 'IUserIdProvider'ım neden bir özel durum oluşturur?

parametresiHubConnectionContext context, çağrıldığında IUserIdProvider ASP.NET Core SignalR SDK'sı ile Azure SignalR Hizmeti SDK'sı arasında farklıdır.

ASP.NET Core SignalR'de, HubConnectionContext context tüm özellikler için geçerli değerlerle fiziksel istemci bağlantısı bağlamıdır.

Azure SignalR Hizmeti SDK'sında, HubConnectionContext context mantıksal istemci bağlantısının bağlamıdır. Fiziksel istemci Azure SignalR Hizmeti örneğine bağlı olduğundan, yalnızca sınırlı sayıda özellik sağlanır.

Şimdilik yalnızca HubConnectionContext.GetHttpContext() ve HubConnectionContext.User erişime açıktır. Kaynak kodu de kontrol edebilirsiniz.

ASP.NET Core SignalR ile sunucu tarafındaki Azure SignalR Hizmeti kullanılabilir aktarımları yapılandırabilir miyim? Örneğin, WebSocket aktarımını devre dışı bırakabilir miyim?

Evet. Yapılandırma için bkz . Aktarım Yapılandırması .

İstemci tarafı aktarımlarını ASP.NET Core SignalR yapılandırmasında belgelendiği gibi de yapılandırabilirsiniz.

Azure portalında gösterilen ileti sayısı veya bağlantı sayısı gibi ölçümlerin anlamı nedir? Hangi tür toplama türünü seçmeliyim?

Bu ölçümleri hesaplama hakkındaki ayrıntıları Azure SignalR Hizmeti'deki İletiler ve bağlantılar bölümünde bulabilirsiniz.

Azure SignalR Hizmeti kaynakların genel bakış bölmesinde sizin için uygun toplama türünü zaten seçtik. Başvuru olarak Azure İzleyici ile Desteklenen ölçümleri kullanabilirsiniz.

'Varsayılan', 'Sunucusuz' ve 'Klasik' hizmet modlarının anlamı nedir? Nasıl seçebilirim?

Yeni uygulamalar için yalnızca varsayılan ve sunucusuz mod kullanılmalıdır. Temel fark, hizmete sunucu bağlantıları kuran uygulama sunucularınız olup olmadığıdır (örneğin, hizmete bağlanmak için kullanın AddAzureSignalR() ). Evet ise varsayılan modu kullanın, aksi takdirde sunucusuz modu kullanın.

Klasik mod mevcut uygulamalar için geriye dönük uyumluluk için tasarlanmıştır, bu nedenle yeni uygulamalarda kullanılmamalıdır.

Hizmet modu hakkında daha fazla bilgi için bkz. Azure SignalR Hizmeti hizmet modu.

İstemciden sunucusuz modda ileti gönderebilir miyim?

SignalR örneğinizde yukarı akış uç noktalarını yapılandırıyorsanız istemciden ileti gönderebilirsiniz. Yukarı akış uç noktaları, SignalR hizmetinden ileti ve bağlantı olayları alabilen bir uç nokta kümesidir. Hiçbir yukarı akış uç noktası yapılandırılmazsa, istemciden gelen iletiler yoksayılır.

Daha fazla bilgi için bkz . Yukarı akış uç noktaları.

Yukarı akış uç noktaları özelliği şu anda genel önizleme aşamasındadır.

ASP.NET SignalR ile Azure SignalR Hizmeti kullanmada özellik farklılıkları var mı?

Azure SignalR Hizmeti kullanırken, ASP.NET SignalR'nin bazı API'leri ve özellikleri desteklenmez:

  • İstemciler ile hub arasında rastgele durum geçirme özelliği (genellikle olarak adlandırılır HubState) desteklenmez.
  • PersistentConnection sınıfı desteklenmez.
  • Forever Frame aktarımı desteklenmez.
  • Azure SignalR Hizmeti artık istemci çevrimdışı olduğunda istemciye gönderilen iletileri yeniden yürütmez.
  • Azure SignalR Hizmeti kullanırken, bir istemci bağlantısının trafiği bağlantı süresi boyunca her zaman bir uygulama sunucusu örneğine yönlendirilir (yapışkan olarak da adlandırılır).

ASP.NET SignalR desteği uyumluluk odaklıdır, bu nedenle ASP.NET Core SignalR'nin tüm yeni özellikleri desteklenmez. Örneğin MessagePack ve Streaming yalnızca ASP.NET Core SignalR uygulamalarında kullanılabilir.

Azure SignalR Hizmeti farklı hizmet modları için yapılandırabilirsiniz: Classic, Default, ve Serverless. Mod Serverless ASP.NET için desteklenmez. Veri düzlemi REST API'si de desteklenmez.

Verilerim nerede bulunuyor?

Azure SignalR Hizmeti müşteri verilerini depolamaz. tanılama için Azure Depolama gibi diğer Azure hizmetleriyle birlikte Azure SignalR Hizmeti kullanıyorsanız Azure bölgelerinde veri yerleşimi tutma hakkında yönergeler için bkz. Azure Gizliliğine Genel Bakış (teknik inceleme).

Azure SignalR hizmeti ile Azure Web PubSub hizmeti arasında seçim Nasıl yaparım??

Hem Azure SignalR Hizmeti hem de Azure Web PubSub hizmeti, müşterilerin büyük ölçekli ve yüksek kullanılabilirlikle kolayca gerçek zamanlı web uygulamaları oluşturmasına yardımcı olur ve müşterilerin mesajlaşma altyapısını yönetmek yerine iş mantığına odaklanmasını sağlar. Genel olarak, gerçek zamanlı uygulamalar oluşturmak için SignalR kitaplığını zaten kullanıyorsanız Azure SignalR Hizmeti seçebilirsiniz. Bunun yerine, WebSocket ve publish-subscribe desenini temel alan gerçek zamanlı uygulama derlemek için genel bir çözüm arıyorsanız Azure Web PubSub hizmetini seçebilirsiniz. Azure Web PubSub hizmeti, Azure SignalR Hizmeti yerine kullanılmaz ve tam tersi de farklı senaryoları hedefler. Aşağıdaki kılavuz, senaryonuz için hangi hizmeti kullanacağınıza karar vermenize yardımcı olur.

Azure SignalR Hizmeti daha uygundur:

  • Temel olarak .NET kullanan ASP.NET veya ASP.NET Core SignalR kullanıyorsunuz veya .NET ekosistemiyle (Blazor gibi) tümleştirmeniz gerekiyor.
  • Platformunuz için kullanılabilir bir SignalR istemcisi vardır.
  • Çok çeşitli desteği olan yerleşik bir protokole ihtiyacınız vardır:
    • çağırma desenleri (RPC ve akış)
    • aktarımlar (WebSocket, sunucu tarafından gönderilen olaylar ve uzun yoklama)
  • Bağlantı ömrünü sizin yerinize yöneten bir istemciye ihtiyacınız vardır.

Azure Web PubSub hizmeti, şu durumlarda daha uygundur:

  • WebSocket teknolojisine dayalı gerçek zamanlı uygulamalar oluşturmanız veya WebSocket üzerinden yayımlama-abone olmanız gerekir.
  • Kendi alt projenizi oluşturmak veya WebSocket üzerinden mevcut gelişmiş protokolleri kullanmak istiyorsunuz (örneğin, MQTT, AMQP over WebSocket).
  • Örneğin, yapılandırılmış arka uç üzerinden geçmeden istemciye ileti gönderen basit bir sunucu arıyorsunuz.