Hızlı Başlangıç: ASP.NET ve SignalR Hizmeti ile sohbet odası oluşturma

Azure SignalR HizmetiASP.NET SignalR ile %100 uyumlu olmayan ASP.NET Core 2.1 için SignalR. Azure SignalR Hizmeti, en son ASP.NET Core teknolojilerine göre SignalR veri protokolü ASP.NET yeniden ASP.NET. ASP.NET SignalR için Azure SignalR Hizmeti kullandığınızda bazı ASP.NET SignalR özellikleri artık desteklenmemektedir. Örneğin, istemci yeniden bağlandığında Azure SignalR iletileri yeniden yürütmez. Ayrıca, Forever Frame aktarımı ve JSONP desteklenmez. ASP.NET SignalR uygulamasının SignalR Hizmeti ile çalışmasını sağlamak için bazı kod değişiklikleri ve bağımlı kitaplıkların uygun sürümü gerekir.

ASP.NET SignalR ile ASP.NET Core SignalR arasındaki özellik karşılaştırmasının tam listesi için sürüm farklılıkları belgesine bakın.

Bu hızlı başlangıçta, benzer bir Sohbet Odası uygulaması için ASP.NET ve Azure SignalR Hizmeti kullanmaya başlamayı öğreneceksiniz.

Azure aboneliğiniz yoksa başlamadan önce ücretsiz bir hesap oluşturun.

Önkoşullar

Sorun mu yaşıyorsunuz? Sorun giderme kılavuzunu deneyin veya bize bildirin.

Azure'da oturum açma

Azure hesabınızla Azure portalında oturum açın.

Sorun mu yaşıyorsunuz? Sorun giderme kılavuzunu deneyin veya bize bildirin.

Bu bölümde, uygulamanız için kullanılacak temel bir Azure SignalR örneği oluşturacaksınız. Aşağıdaki adımlarda yeni bir örnek oluşturmak için Azure portalı kullanılır, ancak Azure CLI'yı da kullanabilirsiniz. Daha fazla bilgi için Azure SignalR Hizmeti CLI Başvurusu'ndaki az signalr create komutuna bakın.

  1. Azure Portal oturum açın.
  2. Sayfanın sol üst kısmında + Kaynak oluştur'u seçin.
  3. Kaynak oluştur sayfasında, Arama hizmeti s ve market metin kutusuna signalr yazın ve listeden SignalR Hizmeti seçin.
  4. SignalR Hizmeti sayfasında Oluştur'u seçin.
  5. Temel Bilgiler sekmesinde, yeni SignalR Hizmeti örneğinin temel bilgilerini girersiniz. Aşağıdaki değerleri girin:
Alan Önerilen Değer Açıklama
Abonelik Aboneliğinizi seçin Yeni bir SignalR Hizmeti örneği oluşturmak için kullanmak istediğiniz aboneliği seçin.
Kaynak grubu SignalRTestResources adlı bir kaynak grubu oluşturma SignalR kaynağınız için bir kaynak grubu seçin veya oluşturun. Mevcut bir kaynak grubunu kullanmak yerine bu öğretici için yeni bir kaynak grubu oluşturmak yararlı olur. Öğreticiyi tamamladıktan sonra kaynakları boşaltmak için kaynak grubunu silin.

Bir kaynak grubunun silinmesi, gruba ait olan tüm kaynakları da siler. Bu eylem geri alınamaz. Bir kaynak grubunu silmeden önce, tutmak istediğiniz kaynakları içermediğinden emin olun.

Daha fazla bilgi için bkz. Azure kaynaklarınızı yönetmek için kaynak gruplarını kullanma.
Kaynak adı testsignalr SignalR kaynağı için kullanılacak benzersiz kaynak adını girin. Testsignalr bölgenizde zaten alınmışsa, ad benzersiz olana kadar bir basamak veya karakter ekleyin.

Ad 1 ile 63 karakter arasında bir dize olmalı ve yalnızca sayı, harf ve kısa çizgi (-) karakteri içermelidir. Ad kısa çizgi karakteriyle başlayamaz veya bitemez ve ardışık kısa çizgi karakterleri geçerli değildir.
Bölge Bölgenizi seçin Yeni SignalR Hizmeti örneğiniz için uygun bölgeyi seçin.

Azure SignalR Hizmeti şu anda tüm bölgelerde kullanılamamaktadır. Daha fazla bilgi için bkz. Azure SignalR Hizmeti bölge kullanılabilirliği
Fiyatlandırma katmanı Değiştir'i ve ardından Ücretsiz (Yalnızca Geliştirme/Test) seçeneğini belirleyin. Fiyatlandırma katmanı seçiminizi onaylamak için Seç'i seçin. Azure SignalR Hizmeti üç fiyatlandırma katmanı vardır: Ücretsiz, Standart ve Premium. Öğreticiler, önkoşullarda aksi belirtilmedikçe Ücretsiz katmanını kullanır.

Katmanlar ve fiyatlandırma arasındaki işlevsellik farkları hakkında daha fazla bilgi için bkz. fiyatlandırma Azure SignalR Hizmeti
Hizmet modu Uygun hizmet modunu seçin Web uygulamalarınızda SignalR hub mantığını barındırırken ve SignalR hizmetini ara sunucu olarak kullanırken Varsayılan'ı kullanın. SignalR hub mantığını barındırmak için Azure İşlevleri gibi Sunucusuz teknolojileri kullanırken Sunucusuz'u kullanın.

Klasik mod yalnızca geriye dönük uyumluluk içindir ve kullanılması önerilmez.

Daha fazla bilgi için bkz. Azure SignalR Hizmeti'de hizmet modu.

SignalR öğreticileri için Ağ ve Etiketler sekmelerindeki ayarları değiştirmeniz gerekmez.

  1. Temel Bilgiler sekmesinin en altındaki Gözden Geçir + oluştur düğmesini seçin.
  2. Gözden geçir ve oluştur sekmesinde değerleri gözden geçirin ve Oluştur'u seçin. Dağıtımın tamamlanması birkaç dakika sürer.
  3. Dağıtım tamamlandığında Kaynağa git düğmesini seçin.
  4. SignalR kaynağı sayfasında, soldaki menüden Ayarlar altında Anahtarlar'ı seçin.
  5. Birincil anahtar için Bağlan ion dizesini kopyalayın. Bu öğreticinin ilerleyen bölümlerinde uygulamanızı yapılandırmak için bu bağlantı dizesi gerekir.

Sunucusuz mod, ASP.NET SignalR uygulamaları için desteklenmez. Azure SignalR Hizmeti örneği için her zaman Varsayılan veya Klasik kullanın.

Bu hızlı başlangıçta kullanılan Azure kaynaklarını SignalR Hizmeti betiği oluştur ile de oluşturabilirsiniz.

Sorun mu yaşıyorsunuz? Sorun giderme kılavuzunu deneyin veya bize bildirin.

Örnek uygulamayı kopyalama

Hizmet dağıtılırken kod ile çalışmaya 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.

  1. Bir git terminal penceresi açın. Örnek projeyi kopyalamak istediğiniz klasöre gidin.

  2. Ö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 yaşıyorsunuz? Sorun giderme kılavuzunu deneyin veya bize bildirin.

Sohbet Odası web uygulamasını yapılandırma ve çalıştırma

  1. Visual Studio'yu başlatın ve çözümü kopyalanan deponun aspnet-samples/ChatRoom/ klasöründe açın.

  2. Azure portalının açıldığı tarayıcıda oluşturduğunuz örneği bulun ve seçin.

  3. SignalR Hizmeti örneğinin bağlantı dizelerini görüntülemek için Anahtarlar’ı seçin.

  4. Birincil bağlantı dizesini seçerek kopyalayın.

  5. Şimdi web.config dosyasında bağlantı dizesi ayarlayın.

    <configuration>
    <connectionStrings>
        <add name="Azure:SignalR:ConnectionString" connectionString="<Replace By Your Connection String>"/>
    </connectionStrings>
    ...
    </configuration>
    
  6. Startup.cs dosyasında çağırmak MapSignalR()yerine çağrısı yapmanız MapAzureSignalR({YourApplicationName}) ve bağlantı dizesi geçirerek uygulamanın SignalR'yi tek başına barındırmak yerine hizmete bağlanmasını sağlamanız gerekir. değerini uygulamanızın adıyla değiştirin {YourApplicationName} . Bu ad, bu uygulamayı diğer uygulamalarınızdan ayırt etmek için benzersiz bir addır. Değeri olarak kullanabilirsiniz this.GetType().FullName .

    public void Configuration(IAppBuilder app)
    {
        // Any connection or hub wire up and configuration should go here
        app.MapAzureSignalR(this.GetType().FullName);
    }
    

    Ayrıca bu API'leri kullanmadan önce hizmet SDK'sına başvurmanız gerekir. Araçlar | uygulamasını açma NuGet Paket Yöneticisi | konsolunu Paket Yöneticisi ve komutunu çalıştırın:

    Install-Package Microsoft.Azure.SignalR.AspNet
    

    Bu değişiklikler dışında, diğer her şey aynı kalır, iş mantığı yazmak için zaten bildiğiniz hub arabirimini kullanmaya devam edebilirsiniz.

    Dekont

    Uygulamada bir uç nokta/signalr/negotiate, Azure SignalR Hizmeti SDK tarafından anlaşma için kullanıma sunulur. İstemciler bağlanmaya ve bağlantı dizesi tanımlanan hizmet uç noktasına yeniden yönlendirmeye çalıştığında özel bir anlaşma yanıtı döndürür.

  7. Projeyi hata ayıklama modunda çalıştırmak için F5 tuşuna basın. Uygulamanın yerel olarak çalıştığını görebilirsiniz. SignalR çalışma zamanını uygulamanın kendisine göre barındırmak yerine artık Azure SignalR Hizmeti bağlanıyor.

Sorun mu yaşıyorsunuz? Sorun giderme kılavuzunu deneyin veya bize bildirin.

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:

  1. 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.

  2. Açılan pencerede kaynak grubunu seçin ve Kaynak grubunu sil’e tıklayın.

  3. Yeni pencerede, silmek için kaynak grubunun adını yazıp Sil öğesine tıklayın.

Önemli

Bir kaynak grubunu silme işlemi geri alınamaz ve kaynak grubunun ve içindeki tüm kaynaklar kalıcı olarak silinir. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun. Bu örneği, tutmak istediğiniz kaynakları içeren mevcut bir kaynak grubunda barındırmak için kaynaklar oluşturduysanız, kaynak grubunu silmek yerine her kaynağı kendi ilgili dikey penceresinden tek tek silebilirsiniz.

Azure portalında oturum açın ve Kaynak grupları’nı seçin.

Ada göre filtrele... metin kutusuna kaynak grubunuzun adını girin. Bu hızlı başlangıçtaki yönergelerde SignalRTestResources adlı bir kaynak grubu kullanılmıştır. Sonuç listesindeki kaynak grubunuzda ... ve sonra Kaynak grubunu sil’e tıklayın.

Delete

Birkaç dakika sonra kaynak grubu ve içerdiği kaynakların tümü silinir.

Sorun mu yaşıyorsunuz? Sorun giderme kılavuzunu deneyin veya bize bildirin.

Sonraki adımlar

Bu hızlı başlangıçta yeni bir Azure SignalR Hizmeti kaynağı oluşturdunuz ve bunu bir ASP.NET web uygulamasıyla kullandınız. Ardından, ASP.NET Core ile Azure SignalR Hizmeti kullanarak gerçek zamanlı uygulamalar geliştirmeyi öğrenin.