Hızlı Başlangıç: Konsol uygulamasından gerçek zamanlı iletiler yayımlama
Azure SignalR hizmeti, yayıncılık gibi sunucudan istemciye doğrudan iletişim senaryolarını desteklemek için REST API’sini sağlar. REST API çağrısı yapabilen herhangi bir programlama dilini seçebilirsiniz. Bağlı tüm istemcilere, adına göre belirli bir istemciye veya bir istemci grubuna iletiler gönderebilirsiniz.
Bu hızlı başlangıçta C# dilinde bir komut satırı uygulamasından bağlı istemci uygulamalarına nasıl ileti gönderebileceğinizi öğreneceksiniz.
Önkoşullar
Bu hızlı başlangıç; macOS, Windows veya Linux üzerinde çalıştırılabilir.
- .NET Core SDK
- Tercih ettiğiniz bir metin veya kod düzenleyicisi.
Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.
Sorun mu var? Sorun giderme kılavuzunu deneyin veya bize haber ver.
Azure'da oturum açma
Azure hesabınızla Azure portalında https://portal.azure.com/ sayfasında oturum açın.
Sorun mu var? Sorun giderme kılavuzunu deneyin veya bize haber ver.
Azure SignalR Hizmeti örneği oluşturma
Uygulamanız Azure’da bir SignalR hizmeti örneğine bağlanır.
Azure portalın sol üst köşesinde bulunan Yeni düğmesini seçin. Yeni ekranda arama kutusuna SignalR hizmeti yazın ve Enter tuşuna basın.

Arama sonuçlarından SignalR Hizmeti’ni seçtikten sonra Oluştur’u seçin.
Aşağıdaki ayarları girin.
Ayar Önerilen değer Açıklama Kaynak adı Genel olarak benzersiz bir ad Yeni SignalR Hizmeti örneğinizi tanımlayan ad. Geçerli karakterler: a-z,0-9ve-.Abonelik Aboneliğiniz Yeni SignalR Hizmeti örneğinin oluşturulacağı abonelik. Kaynak Grubu myResourceGroup SignalR Hizmeti örneğinizin oluşturulacağı yeni kaynak grubunun adı. Konum Batı ABD Size yakın bir bölge seçin. Fiyatlandırma katmanı Ücretsiz Azure SignalR Hizmetini ücretsiz deneyin. Birim sayısı Uygulanamaz Birim sayısı, SignalR Hizmeti örneğinizin kaç bağlantı kabul edebileceğini belirtir. Bu yalnızca Standart katmanda yapılandırılabilir. Hizmet modu Sunucusuz Azure Işlevleri veya REST API kullanmak için. 
SignalR Hizmeti örneğini dağıtmaya başlamak için Oluştur’u seçin.
Örnek dağıtıldıktan sonra portalda açın ve ayarlar sayfasını bulun. Azure SignalR hizmetini Azure Işlevleri bağlama veya REST API aracılığıyla kullanıyorsanız, hizmet modu ayarını sunucusuz olarak değiştirin. Aksi halde Klasik veya varsayılan olarak bırakın.
Sorun mu var? Sorun giderme kılavuzunu deneyin veya bize haber ver.
Örnek uygulamayı kopyalama
Hizmet dağıtılırken kodu hazırlamaya geçiş yapalım. GitHub'dan örnek uygulamayı kopyalayın, SignalR Hizmetinin bağlantı dizesini ayarlayın ve uygulamayı yerel olarak çalıştırın.
Bir git terminal penceresi açın. Örnek projeyi kopyalamak istediğiniz klasöre gidin.
Örnek depoyu kopyalamak için aşağıdaki komutu çalıştırın. Bu komut bilgisayarınızda örnek uygulamanın bir kopyasını oluşturur.
git clone https://github.com/aspnet/AzureSignalR-samples.git
Sorun mu var? Sorun giderme kılavuzunu deneyin veya bize haber ver.
Örneği derleme ve çalıştırma
Bu örnek, Azure SignalR Hizmetinin kullanımını gösteren bir konsol uygulamasıdır. İki mod sunar:
- Sunucu modu: Azure SignalR Hizmetinin REST API'sini çağırmak için basit komutlar kullanın.
- İstemci modu: Azure SignalR Hizmetine bağlanarak sunucudan ileti alın.
Ayrıca Azure SignalR Hizmeti ile kimlik doğrulaması için nasıl bir erişim belirteci oluşturacağınızı da öğrenebilirsiniz.
Yürütülebilir dosyayı derleme
Örnek olarak macOS osx.10.13-x64 kullanıyoruz. Nasıl diğer platformlar için derleyeceğiniz hakkında başvuru belgeleri bulabilirsiniz.
cd AzureSignalR-samples/samples/Serverless/
dotnet publish -c Release -r osx.10.13-x64
İstemci başlatma
cd bin/Release/netcoreapp2.1/osx.10.13-x64/
Serverless client <ClientName> -c "<ConnectionString>" -h <HubName>
Sunucu başlatma
cd bin/Release/netcoreapp2.1/osx.10.13-x64/
Serverless server -c "<ConnectionString>" -h <HubName>
Sorun mu var? Sorun giderme kılavuzunu deneyin veya bize haber ver.
Örneği yayımlamadan çalıştırma
Bir sunucu veya istemci başlatmak için aşağıdaki komutu da çalıştırabilirsiniz
# Start a server
dotnet run -- server -c "<ConnectionString>" -h <HubName>
# Start a client
dotnet run -- client <ClientName> -c "<ConnectionString>" -h <HubName>
Bağlantı dizesini belirtmek için kullanıcı gizli dizileri kullanma
dotnet user-secrets set Azure:SignalR:ConnectionString "<ConnectionString>" öğesini örneğin kök dizininde çalıştırabilirsiniz. Bundan sonra -c "<ConnectionString>" seçeneğine ihtiyacınız kalmaz.
Sorun mu var? Sorun giderme kılavuzunu deneyin veya bize haber ver.
Kullanım
Sunucu başlatıldıktan sonra komutunu kullanarak ileti gönderin:
send user <User Id>
send users <User List>
send group <Group Name>
send groups <Group List>
broadcast
Farklı istemci adları ile birden çok istemci başlatabilirsiniz.
Sorun mu var? Sorun giderme kılavuzunu deneyin veya bize haber ver.
Üçüncü taraf hizmetlerle tümleştirme
Azure SignalR hizmeti, üçüncü taraf hizmetlerin sistemle tümleştirilmesini sağlar.
Teknik özelliklerin tanımı
Aşağıdaki tabloda, desteklenen tüm REST API sürümleri gösterilmektedir. Belirli bir sürüme ait tanım dosyasını da bulabilirsiniz
| Sürüm | API Durumu | Kapı | Özel |
|---|---|---|---|
1.0-preview |
Kullanılabilir | 5002 | Swagger |
1.0 |
Kullanılabilir | Standart | Swagger |
Her sürüm için kullanılabilir API'lerin listesi aşağıda verilmiştir.
| API | 1.0-önizleme | 1.0 |
|---|---|---|
| Tümüne yayınla | ✓ | ✓ |
| Gruba yayınla | ✓ | ✓ |
| Bazı gruplara yayın | ✓ (Kullanım Dışı) | N / A |
| Kullanıcıya gönderme | ✓ | ✓ |
| Bazı kullanıcılara gönder | ✓ (Kullanım Dışı) | N / A |
| Gruba kullanıcı ekleme | N / A |
✓ |
| Gruptan kullanıcı kaldırma | N / A |
✓ |
| Kullanıcının varlığını denetleme | N / A |
✓ |
| Bir kullanıcıyı tüm gruplardan kaldırma | N / A |
✓ |
| Bir bağlantıya gönderme | N / A |
✓ |
| Gruba bağlantı ekleme | N / A |
✓ |
| Gruptan bağlantı kaldırma | N / A |
✓ |
| İstemci bağlantısını kapatma | N / A |
✓ |
| Hizmet Durumu | N / A |
✓ |
Herkese yayınlama
| Sürüm | API HTTP Yöntemi | İstek URL’si | İstek gövdesi |
|---|---|---|---|
1.0-preview |
POST |
https://<instance-name>.service.signalr.net:5002/api/v1-preview/hub/<hub-name> |
{"target": "<method-name>", "arguments": [...]} |
1.0 |
POST |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name> |
Yukarıdakiyle aynı |
Gruba yayınla
| Sürüm | API HTTP Yöntemi | İstek URL’si | İstek gövdesi |
|---|---|---|---|
1.0-preview |
POST |
https://<instance-name>.service.signalr.net:5002/api/v1-preview/hub/<hub-name>/group/<group-name> |
{"target": "<method-name>", "arguments": [...]} |
1.0 |
POST |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name> |
Yukarıdakiyle aynı |
Kullanıcıya gönderme
| Sürüm | API HTTP Yöntemi | İstek URL’si | İstek gövdesi |
|---|---|---|---|
1.0-preview |
POST |
https://<instance-name>.service.signalr.net:5002/api/v1-preview/hub/<hub-name>/user/<user-id> |
{"target": "<method-name>", "arguments": [...]} |
1.0 |
POST |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id> |
Yukarıdakiyle aynı |
Gruba kullanıcı ekleme
| Sürüm | API HTTP Yöntemi | İstek URL’si |
|---|---|---|
1.0 |
PUT |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id> |
Gruptan kullanıcı kaldırma
| Sürüm | API HTTP Yöntemi | İstek URL’si |
|---|---|---|
1.0 |
DELETE |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id> |
Bir grupta kullanıcı varlığını denetleme
| API Sürümü | API HTTP Yöntemi | İstek URL’si |
|---|---|---|
1.0 |
GET |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id>/groups/<group-name> |
1.0 |
GET |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/users/<user-id> |
| Yanıt Durum Kodu | Açıklama |
|---|---|
200 |
Kullanıcı var |
404 |
Kullanıcı yok |
Bir kullanıcıyı tüm gruplardan kaldırma
| API Sürümü | API HTTP Yöntemi | İstek URL’si |
|---|---|---|
1.0 |
DELETE |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/users/<user-id>/groups |
Bir bağlantıya ileti gönderme
| API Sürümü | API HTTP Yöntemi | İstek URL’si | İstek Gövdesi |
|---|---|---|---|
1.0 |
POST |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id> |
{ "target":"<method-name>", "arguments":[ ... ] } |
Gruba bağlantı ekleme
| API Sürümü | API HTTP Yöntemi | İstek URL’si |
|---|---|---|
1.0 |
PUT |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/connections/<connection-id> |
1.0 |
PUT |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>/groups/<group-name> |
Gruptan bağlantı kaldırma
| API Sürümü | API HTTP Yöntemi | İstek URL’si |
|---|---|---|
1.0 |
DELETE |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/groups/<group-name>/connections/<connection-id> |
1.0 |
DELETE |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>/groups/<group-name> |
İstemci bağlantısını kapatma
| API Sürümü | API HTTP Yöntemi | İstek URL’si |
|---|---|---|
1.0 |
DELETE |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id> |
1.0 |
DELETE |
https://<instance-name>.service.signalr.net/api/v1/hubs/<hub-name>/connections/<connection-id>?reason=<close-reason> |
Hizmet Durumu
| API Sürümü | API HTTP Yöntemi | İstek URL’si |
|---|---|---|
1.0 |
GET |
https://<instance-name>.service.signalr.net/api/v1/health |
| Yanıt Durum Kodu | Açıklama |
|---|---|
200 |
Hizmet İyi |
5xx |
Hizmet Hatası |
Sorun mu var? Sorun giderme kılavuzunu deneyin veya bize haber ver.
Kaynakları temizleme
Bu uygulamayı kullanmaya devam etmeyecekseniz, herhangi bir ücret ödememek için aşağıdaki adımları kullanarak bu hızlı başlangıç tarafından oluşturulan tüm kaynakları silin:
Azure portalında, en solda bulunan Kaynak grupları’nı ve ardından oluşturduğunuz kaynak grubunu seçin. Alternatif olarak kaynak grubunu adıyla bulmak için arama kutusunu kullanabilirsiniz.
Açılan pencerede kaynak grubunu seçin ve Kaynak grubunu sil’e tıklayın.
Yeni pencerede, silmek için kaynak grubunun adını yazıp Sil öğesine tıklayın.
Sorun mu var? Sorun giderme kılavuzunu deneyin veya bize haber ver.
Sonraki adımlar
Bu hızlı başlangıçta, SignalR Hizmeti'REST API istemcilere gerçek zamanlı ileti yayını yapmak için REST API kullanmayı öğrendiniz. Daha sonra, bu bağlamanın üzerine Azure İşlevleri SignalR Hizmeti bağlaması ile veri geliştirme ve dağıtma hakkında daha fazla REST API.