Azure App Service の Web アプリで SignalR を使用するUsing SignalR with Web Apps in Azure App Service

提供者: Patrick Fletcherby Patrick Fletcher

Note

この記事では、ASP.NET SignalR を指します。This article refers to ASP.NET SignalR. SignalR を使用して、Java、Node.js、またはサーバーレス シナリオでは、リアルタイムのシナリオを有効にする方法と思う場合を見てASP.NET Core SignalRします。If you're thinking about using SignalR to enable real-time scenarios with Java, Node.js, or in a serverless scenario, take a look at ASP.NET Core SignalR. 既に ASP.NET SignalR を使用した場合を見て、のバージョンの違いバージョンの違いと ASP.NET Core SignalR での機能強化を理解するページ。If you've already used ASP.NET SignalR, take a look at the version differences page to understand the differences in the versions and the improvements in ASP.NET Core SignalR. 最後に、Microsoft Azure でリアルタイム アプリを実行することがわかっている場合を見て、 Azure SignalR サービスなど、アプリを必要とすると、クラウド ベースのスケール アウトを提供します。Finally, if you know you'll be running your real-time apps in Microsoft Azure, take a look at the Azure SignalR Service, as it provides cloud-based scale-out once your apps need it.

このドキュメントでは、Microsoft Azure で実行されている SignalR アプリケーションを構成する方法について説明します。This document describes how to configure a SignalR application that runs on Microsoft Azure.

このチュートリアルで使用されるソフトウェアのバージョンSoftware versions used in the tutorial

  • Visual Studio 2013または Visual Studio 2012Visual Studio 2013 or Visual Studio 2012
  • .NET 4.5.NET 4.5
  • SignalR 2 のバージョンSignalR version 2
  • Visual Studio 2013 または 2012 用の azure SDK 2.3Azure SDK 2.3 for Visual Studio 2013 or 2012

意見やご質問Questions and comments

このチュートリアルの良い点に関するフィードバックや、ページ下部にあるコメントで改善できる点をお知らせください。Please leave feedback on how you liked this tutorial and what we could improve in the comments at the bottom of the page. チュートリアルに直接関連付けられていない質問がある場合を投稿、 ASP.NET SignalR フォーラムStackOverflow.com、またはMicrosoft Azure フォーラム.If you have questions that are not directly related to the tutorial, you can post them to the ASP.NET SignalR forum, StackOverflow.com, or the Microsoft Azure forums.

目次Table of Contents

はじめにIntroduction

ASP.NET SignalR は、新しいレベルのサーバーと web または .NET クライアント間の対話機能を使用できます。ASP.NET SignalR can be used to bring a new level of interactivity between servers and web or .NET clients. Azure でホストされているときに SignalR アプリケーションを利用して高可用性のスケーラブルなおよびパフォーマンスの高い環境を提供する、クラウドで実行されています。When hosted in Azure, SignalR applications can take advantage of the highly available, scalable, and performant environment that running in the cloud provides.

Azure App Service に SignalR Web アプリを展開します。Deploying a SignalR Web App to Azure App Service

SignalR を Azure にアプリケーションを展開すると、オンプレミス サーバーにデプロイする特定の混乱を追加しません。SignalR doesn't add any particular complications to deploying an application to Azure versus deploying to an on-premises server. 構成またはその他の設定に変更を行わず、SignalR を使用するアプリケーションを Azure でホストされることができます (ただし Websocket サポートについてを参照してくださいAzure App Service で Websocket を有効にする以下です)。このチュートリアルで作成したアプリケーションをデプロイします、チュートリアル入門を Azure にします。An application that uses SignalR can be hosted in Azure without any changes in configuration or other settings (though for WebSockets support, see Enabling WebSockets on Azure App Service below.) For this tutorial, you'll deploy the application created in the Getting Started Tutorial to Azure.

必須コンポーネントPrerequisites

SignalR の web アプリを Azure に展開します。Deploying a SignalR web app to Azure

  1. 完了、チュートリアル入門から完成したプロジェクトをダウンロードまたはコード ギャラリーします。Complete the Getting Started Tutorial, or download the finished project from Code Gallery.

  2. Visual Studio で、次のように選択します。ビルドSignalR チャットの発行します。In Visual Studio, select Build, Publish SignalR Chat.

  3. "Web の発行 ダイアログ ボックスで、「Windows Azure の Web サイト」を選択します。In the "Publish Web" dialog, select "Windows Azure Web Sites".

    Azure の Web サイトを選択します。

  4. Microsoft アカウントにサインインしていない場合はクリックしてサインインしています. で [既存の Web サイトの選択] ダイアログ ボックスで、サインインします。If you aren't signed in to your Microsoft account, click Sign In... in the "Select Existing Web Site" dialog, and sign in.

    既存の Web サイトを選択します。 Azure にサインインする

  5. [既存の Web サイトの選択] ダイアログ ボックスで、次のようにクリックします。新規します。In the "Select Existing Web Site" dialog, click New.

    [新しい Web サイト]

  6. "Windows Azure でサイトの作成 ダイアログ ボックスで、一意のアプリ名を入力します。In the "Create site on Windows Azure" dialog, enter a unique app name. 領域のドロップダウン リストでユーザーに最も近いリージョンを選択します。Select the region closest to you in the Region dropdown. [作成] をクリックします。Click Create.

    Azure でサイトを作成します。

  7. "Web の発行 ダイアログ ボックスで、次のようにクリックします。発行します。In the "Publish Web" dialog, click Publish.

    サイトを発行します。

  8. アプリの発行が完了したら、SignalR チャット アプリケーションを Azure App Service Web Apps でホストされているが、ブラウザーで開きます。When the app has completed publishing, the SignalR Chat application hosted in Azure App Service Web Apps will open in a browser.

    サイトがブラウザーで開く

Azure App Service Web Apps で Websocket を有効にします。Enabling WebSockets on Azure App Service Web Apps

Websocket は、SignalR アプリケーションで使用する web アプリで明示的に有効にする必要があります。それ以外の場合、他のプロトコルを使用する (を参照してくださいトランスポートとフォールバック詳細については)。WebSockets needs to be explicitly enabled in your web app to be used in a SignalR application; otherwise, other protocols will be used (See Transports and Fallbacks for details).

Azure App Service Web Apps で Websocket を使用するためには、web アプリの構成セクションで有効にします。In order to use WebSockets on Azure App Service Web Apps, enable it in the configuration section of the web app. これを行うには、web アプリを開き、 Azure 管理ポータル構成を選択します。To do this, open your web app in the Azure Management Portal, and select Configure.

[Configure (構成)] タブ

構成ページの上部にある、web アプリ用 .NET 4.5 が使用されることを確認します。At the top of the configuration page, ensure that .NET 4.5 is used for your web app.

.NET framework バージョン 4.5 の設定

[構成] ページで、 Websocket設定で選択します。On the configuration page, in the WebSockets setting, select On.

Websocket の設定:オン

[構成] ページの下部には、次のように選択します。保存、変更を保存します。At the bottom of the Configuration page, select Save to save your changes.

設定を保存します。

Azure Redis Cache のバック プレーンを使用します。Using the Azure Redis Cache Backplane

Web アプリの複数のインスタンスを使用して、それらのインスタンスのユーザー間の対話 (つまり、たとえば、1 つのインスタンスに作成されたチャット メッセージは、他のインスタンスに接続しているユーザーにアクセスできる) する必要があるかどうか、 Azure Redis Cacheバック プレーンアプリケーションで実装する必要があります。If you use multiple instances for your web app, and the users of those instances need to interact with one another (so that, for instance, chat messages created in one instance can reach the users connected to other instances), the Azure Redis Cache backplane must be implemented in your application.

次の手順Next Steps

Azure App Service で Web アプリの詳細については、次を参照してください。 Web Apps の概要します。For more information on Web Apps in Azure App Service, see Web Apps overview.