Hızlı başlangıç: ASP.NET ve SignalR hizmeti ile sohbet odası oluşturmaQuickstart: Create a chat room with ASP.NET and SignalR Service

Azure SignalR hizmeti, ASP.NET SignalR ile %100 uyumlu olmayan ASP.NET Core 2,0 için SignalR'yi temel alır.Azure SignalR Service is based on SignalR for ASP.NET Core 2.0, which is not 100% compatible with ASP.NET SignalR. Azure SignalR hizmeti, en son ASP.NET Core teknolojilerine göre ASP.NET SignalR veri protokolünü yeniden uyguladık.Azure SignalR Service re-implemented ASP.NET SignalR data protocol based on the latest ASP.NET Core technologies. ASP.NET SignalR için Azure SignalR hizmeti kullanılırken, bazı ASP.NET SignalR özellikleri artık desteklenmez. Örneğin, Azure SignalR istemci yeniden bağlandığında iletileri yeniden oynamaz.When using Azure SignalR Service for ASP.NET SignalR, some ASP.NET SignalR features are no longer supported, for example, Azure SignalR does not replay messages when the client reconnects. Ayrıca, süresiz çerçeve taşıması ve JSONP desteklenmez.Also, the Forever Frame transport and JSONP are not supported. 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.Some code changes and proper version of dependent libraries are needed to make ASP.NET SignalR application work with SignalR Service.

ASP.NET SignalR ve ASP.NET Core SignalR arasındaki özellik karşılaştırmasının tamamen listesi için sürüm farklılıkları bölümüne bakın.Refer to the version differences doc for a complete list of feature comparison between ASP.NET SignalR and ASP.NET Core SignalR.

Bu hızlı başlangıçta, benzer bir sohbet odası uygulamasıiçin ASP.net ve Azure SignalR hizmetini kullanmaya nasıl başlacağınızı öğreneceksiniz.In this quickstart, you will learn how to get started with the ASP.NET and Azure SignalR Service for a similar Chat Room application.

Azure aboneliğinizyoksa başlamadan önce ücretsiz bir hesap oluşturun.If you don't have an Azure subscription, create a free account before you begin.

ÖnkoşullarPrerequisites

Azure'da oturum açınSign in to Azure

Azure hesabınızla Azure portalında oturum açın.Sign in to the Azure portal with your Azure account.

Azure SignalR Hizmeti örneği oluşturmaCreate an Azure SignalR Service instance

Uygulamanız Azure’da bir SignalR hizmeti örneğine bağlanır.Your application will connect to a SignalR Service instance in Azure.

  1. Azure portalın sol üst köşesinde bulunan Yeni düğmesini seçin.Select the New button found on the upper left-hand corner of the Azure portal. Yeni ekranda arama kutusuna SignalR hizmeti yazın ve Enter tuşuna basın.In the New screen, type SignalR Service in the search box and press enter.

    SignalR Hizmetini Arama

  2. Arama sonuçlarından SignalR Hizmeti’ni seçtikten sonra Oluştur’u seçin.Select SignalR Service from the search results, then select Create.

  3. Aşağıdaki ayarları girin.Enter the following settings.

    AyarSetting Önerilen değerSuggested value AçıklamaDescription
    Kaynak adıResource name Genel olarak benzersiz bir adGlobally unique name Yeni SignalR Hizmeti örneğinizi tanımlayan ad.Name that identifies your new SignalR Service instance. Geçerli karakterler: a-z, 0-9, ve -.Valid characters are a-z, 0-9, and -.
    AbonelikSubscription AboneliğinizYour subscription Yeni SignalR Hizmeti örneğinin oluşturulacağı abonelik.The subscription under which this new SignalR Service instance is created.
    Kaynak GrubuResource Group myResourceGroupmyResourceGroup SignalR Hizmeti örneğinizin oluşturulacağı yeni kaynak grubunun adı.Name for the new resource group in which to create your SignalR Service instance.
    LocationLocation Batı ABDWest US Size yakın bir bölge seçin.Choose a region near you.
    Fiyatlandırma katmanıPricing tier BoşFree Azure SignalR Hizmetini ücretsiz deneyin.Try Azure SignalR Service for free.
    Birim sayısıUnit count Geçerli değilNot applicable Birim sayısı, SignalR Hizmeti örneğinizin kaç bağlantı kabul edebileceğini belirtir.Unit count specifies how many connections your SignalR Service instance can accept. Bu yalnızca Standart katmanda yapılandırılabilir.It is only configurable in the Standard tier.
    Hizmet moduService mode SunucusuzServerless Azure Işlevleri veya REST API kullanmak için.For use with Azure Functions or REST API.

    SignalR Hizmeti Oluşturma

  4. SignalR Hizmeti örneğini dağıtmaya başlamak için Oluştur’u seçin.Select Create to start deploying the SignalR Service instance.

  5. Örnek dağıtıldıktan sonra portalda açın ve ayarlar sayfasını bulun.After the instance is deployed, open it in the portal and locate its Settings page. 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.Change the Service Mode setting to Serverless only if you are using Azure SignalR Service through Azure Functions binding or REST API. Aksi halde Klasik veya varsayılan olarak bırakın.Leave it in Classic or Default otherwise.

Sunucusuz mod, ASP.NET SignalR uygulamaları için desteklenmez.Serverless mode is not supported for ASP.NET SignalR applications. Her zaman Azure SignalR hizmeti örneği için varsayılan veya Klasik ' i kullanın.Always use Default or Classic for the Azure SignalR Service instance.

Bu hızlı başlangıçta, bir SignalR Hizmet betiği oluşturIle kullanılan Azure kaynakları da oluşturabilirsiniz.You can also create Azure resources used in this quickstart with Create a SignalR Service script.

Örnek uygulamayı kopyalamaClone the sample application

Hizmet dağıtılırken kod ile çalışmaya geçiş yapalım.While the service is deploying, let's switch to working with code. GitHub'dan örnek uygulamayı kopyalayın, SignalR Hizmetinin bağlantı dizesini ayarlayın ve uygulamayı yerel olarak çalıştırın.Clone the sample app from GitHub, set the SignalR Service connection string, and run the application locally.

  1. Bir git terminal penceresi açın.Open a git terminal window. Örnek projeyi kopyalamak istediğiniz klasöre gidin.Change to a folder where you want to clone the sample project.

  2. Örnek depoyu kopyalamak için aşağıdaki komutu çalıştırın.Run the following command to clone the sample repository. Bu komut bilgisayarınızda örnek uygulamanın bir kopyasını oluşturur.This command creates a copy of the sample app on your computer.

    git clone https://github.com/aspnet/AzureSignalR-samples.git
    

Sohbet odası Web uygulamasını yapılandırma ve çalıştırmaConfigure and run Chat Room web app

  1. Visual Studio 'Yu başlatın ve kopyalanan deponun ASPNET-Samples/ChatRoom/ klasöründe çözümü açın.Start Visual Studio and open the solution in the aspnet-samples/ChatRoom/ folder of the cloned repository.

  2. Azure portal açıldığı tarayıcıda, oluşturduğunuz örneği bulun ve seçin.In the browser where the Azure portal is opened, find and select the instance you created.

  3. SignalR Hizmeti örneğinin bağlantı dizelerini görüntülemek için Anahtarlar’ı seçin.Select Keys to view the connection strings for the SignalR Service instance.

  4. Birincil bağlantı dizesini seçerek kopyalayın.Select and copy the primary connection string.

  5. Şimdi Web. config dosyasında bağlantı dizesini ayarlayın.Now set the connection string in the web.config file.

    <configuration>
    <connectionStrings>
        <add name="Azure:SignalR:ConnectionString" connectionString="<Replace By Your Connection String>"/>
    </connectionStrings>
    ...
    </configuration>
    
  6. Startup.cs' de MapSignalR()çağırmak yerine, uygulamanın kendi kendine bir SignalR barındırmak yerine hizmete bağlanmasını sağlamak için MapAzureSignalR({your_applicationName}) çağırmanız ve bağlantı dizesinde geçiş yapmanız gerekir.In Startup.cs, instead of calling MapSignalR(), you need to call MapAzureSignalR({your_applicationName}) and pass in connection string to make the application connect to the service instead of hosting SignalR by itself. {YourApplicationName}, uygulamanızın adıyla değiştirin.Replace {YourApplicationName} to the name of your application. Bu ad, bu uygulamayı diğer uygulamalarınızdan ayırt etmek için benzersiz bir addır.This name is a unique name to distinguish this application from your other applications. Değer olarak this.GetType().FullName kullanabilirsiniz.You can use this.GetType().FullName as the value.

    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.You also need to reference the service SDK before using these APIs. Araçları açın | NuGet Paket Yöneticisi | Paket Yöneticisi konsolu ve Çalıştır komutu:Open the Tools | NuGet Package Manager | Package Manager Console and run command:

    Install-Package Microsoft.Azure.SignalR.AspNet
    

    Bu değişiklikler dışında, diğer her şey aynı kalır, iş mantığını yazmak için zaten bildiğiniz hub arabirimini kullanmaya devam edebilirsiniz.Other than these changes, everything else remains the same, you can still use the hub interface you're already familiar with to write business logic.

    Not

    Uygulamada bir uç nokta /signalr/negotiate Azure SignalR hizmeti SDK 'Sı tarafından anlaşmaya sunuldu.In the implementation an endpoint /signalr/negotiate is exposed for negotiation by Azure SignalR Service SDK. İstemciler bağlanmayı ve bağlantı dizesinde tanımlanan hizmet uç noktasına yeniden yönlendirmeyi denediğinde, özel bir anlaşma yanıtı döndürür.It will return a special negotiation response when clients try to connect and redirect clients to service endpoint defined in the connection string.

  7. Projeyi hata ayıklama modunda çalıştırmak için F5 tuşuna basın.Press F5 to run the project in debug mode. Uygulamanın yerel olarak çalıştığını görebilirsiniz.You can see the application runs locally. Bir SignalR çalışma zamanını uygulamanın kendisi için barındırmak yerine artık Azure SignalR hizmetine bağlanır.Instead of hosting a SignalR runtime by application itself, it now connects to the Azure SignalR Service.

Kaynakları temizlemeClean up resources

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:If you're not going to continue to use this app, delete all resources created by this quickstart with the following steps so you don't incur any charges:

  1. Azure portalında, en solda bulunan Kaynak grupları’nı ve ardından oluşturduğunuz kaynak grubunu seçin.In the Azure portal, select Resource groups on the far left, and then select the resource group you created. Alternatif olarak kaynak grubunu adıyla bulmak için arama kutusunu kullanabilirsiniz.Alternatively, you may use the search box to find the resource group by its name.

  2. Açılan pencerede kaynak grubunu seçin ve Kaynak grubunu sil’e tıklayın.In the window that opens, select the resource group, and then click Delete resource group.

  3. Yeni pencerede, silmek için kaynak grubunun adını yazıp Sil öğesine tıklayın.In the new window, type the name of the resource group to delete, and then click Delete.

Önemli

Bir kaynak grubunu silme işlemi geri alınamaz ve kaynak grubunun ve içindeki tüm kaynaklar kalıcı olarak silinir.Deleting a resource group is irreversible and that the resource group and all the resources in it are permanently deleted. Yanlış kaynak grubunu veya kaynakları yanlışlıkla silmediğinizden emin olun.Make sure that you do not accidentally delete the wrong resource group or resources. 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.If you created the resources for hosting this sample inside an existing resource group that contains resources you want to keep, you can delete each resource individually from their respective blades instead of deleting the resource group.

Azure portalında oturum açın ve Kaynak grupları’na tıklayın.Sign in to the Azure portal and click Resource groups.

Ada göre filtrele... metin kutusuna kaynak grubunuzun adını girin.In the Filter by name... textbox, type the name of your resource group. Bu hızlı başlangıçtaki yönergelerde SignalRTestResources adlı bir kaynak grubu kullanılmıştır.The instructions for this quickstart used a resource group named SignalRTestResources. Sonuç listesindeki kaynak grubunuzda ... ve sonra Kaynak grubunu sil’e tıklayın.On your resource group in the result list, click ... then Delete resource group.

Sil

Birkaç dakika sonra kaynak grubu ve içerdiği kaynakların tümü silinir.After a few moments, the resource group and all of its contained resources are deleted.

Sonraki adımlarNext steps

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.In this quickstart, you created a new Azure SignalR Service resource and used it with an ASP.NET web app. Daha sonra, ASP.NET Core ile Azure SignalR hizmetini kullanarak gerçek zamanlı uygulamalar geliştirmeyi öğrenin.Next, learn how to develop real-time applications using Azure SignalR Service with ASP.NET Core.