Mulai Cepat: Membuat ruang obrolan dengan ASP.NET dan SignalR Service

Azure SignalR Service didasarkan pada SignalR untuk ASP.NET Core 2.1, yang tidak 100% kompatibel dengan ASP.NET SignalR. Azure SignalR Service melengkapi kembali protokol data ASP.NET SignalR berdasarkan teknologi ASP.NET Core terbaru. Saat Anda menggunakan Azure SignalR Service untuk ASP.NET SignalR, beberapa fitur ASP.NET SignalR tidak lagi didukung, misalnya, Azure SignalR tidak memutar ulang pesan saat klien tersambung kembali. Selain itu, transportasi Forever Frame dan JSONP tidak didukung. Beberapa kode berubah dan versi yang tepat dari pustaka dependen diperlukan untuk membuat aplikasi ASP.NET SignalR bekerja dengan SignalR Service.

Lihat dokumen perbedaan versi untuk daftar lengkap perbandingan fitur antara ASP.NET SignalR dan ASP.NET Core SignalR.

Dalam mulai cepat ini, Anda mempelajari cara memulai ASP.NET dan Azure SignalR Service untuk aplikasi Ruang Obrolan serupa.

Jika Anda tidak memiliki langganan Azure, buatlah akun gratis sebelum Anda memulai.

Prasyarat

Mengalami masalah? Coba panduan pemecahan masalah atau beri tahu kami.

Masuk ke Azure

Masuk ke portal Azure dengan akun Azure Anda.

Mengalami masalah? Coba panduan pemecahan masalah atau beri tahu kami.

Di bagian ini, Anda membuat instans Azure SignalR dasar yang akan digunakan untuk aplikasi Anda. Langkah-langkah berikut menggunakan portal Azure untuk membuat instans baru, tetapi Anda juga dapat menggunakan Azure CLI. Untuk informasi selengkapnya, lihat perintah az signalr create di Referensi CLI Azure SignalR Service.

  1. Masuk ke portal Azure.
  2. Di sisi kiri atas halaman, pilih + Buat sumber daya.
  3. Pada halaman Buat sumber daya, di kotak teks layanan Pencarian dan marketplace, masukkan signalr lalu pilih SignalR Service dari daftar.
  4. Pada halaman SignalR Service , pilih Buat.
  5. Pada tab Dasar, Anda memasukkan informasi penting untuk instans SignalR Service baru Anda. Masukkan nilai berikut:
Bidang Nilai yang Disarankan Deskripsi
Langganan Memilih langganan Anda Pilih langganan yang ingin Anda gunakan untuk membuat instans SignalR Service baru.
Grup sumber daya Membuat grup sumber daya bernama SignalRTestResources Pilih atau buat grup sumber daya untuk sumber daya SignalR Anda. Berguna untuk membuat grup sumber daya baru untuk tutorial ini alih-alih menggunakan grup sumber daya yang ada. Untuk membebaskan sumber daya setelah menyelesaikan tutorial, hapus grup sumber daya.

Menghapus grup sumber daya juga menghapus semua sumber daya yang termasuk dalam grup. Tindakan ini tidak dapat diurungkan. Sebelum Anda menghapus grup sumber daya, pastikan grup tersebut tidak berisi sumber daya yang ingin Anda simpan.

Untuk mengetahui informasi selengkapnya, lihat Menggunakan grup sumber daya untuk mengelola sumber daya Azure Anda.
Nama sumber daya testsignalr Masukkan nama sumber daya unik untuk digunakan untuk sumber daya SignalR. Jika testsignalr sudah diambil di wilayah Anda, tambahkan digit atau karakter hingga namanya unik.

Nama harus berupa string 1 hingga 63 karakter dan hanya berisi angka, huruf, dan karakter tanda hubung (-). Nama tidak dapat dimulai atau diakhir dengan karakter tanda hubung, dan karakter tanda hubung berturut-turut tidak valid.
Wilayah Pilih wilayah Anda Pilih wilayah yang sesuai untuk instans SignalR Service baru Anda.

Azure SignalR Service saat ini tidak tersedia di semua wilayah. Untuk informasi selengkapnya, lihat Ketersediaan wilayah Azure SignalR Service
Tingkat harga Pilih Ubah lalu pilih Gratis (Khusus Dev/Test). Pilih Pilih untuk mengonfirmasi pilihan tingkat harga Anda. Azure SignalR Service memiliki tiga tingkat harga: Gratis, Standar, dan Premium. Tutorial menggunakan tingkat Gratis , kecuali disebutkan sebaliknya dalam prasyarat.

Untuk informasi selengkapnya tentang perbedaan fungsionalitas antara tingkatan dan harga, lihat Harga Azure SignalR Service
Mode layanan Pilih mode layanan yang sesuai Gunakan Default saat Anda menghosting logika hub SignalR di aplikasi web Anda dan menggunakan layanan SignalR sebagai proksi. Gunakan Tanpa Server saat Anda menggunakan teknologi Tanpa Server seperti Azure Functions untuk menghosting logika hub SignalR.

Mode klasik hanya untuk kompatibilitas mundur dan tidak disarankan untuk digunakan.

Untuk informasi selengkapnya, lihat Mode layanan di Azure SignalR Service.

Anda tidak perlu mengubah pengaturan pada tab Jaringan dan Tag untuk tutorial SignalR.

  1. Pilih tombol Tinjau + buat di bagian bawah tab Dasar .
  2. Pada tab Tinjau + buat , tinjau nilai lalu pilih Buat. Dibutuhkan beberapa saat agar penyebaran selesai.
  3. Setelah penyebaran selesai, pilih tombol Buka sumber daya .
  4. Pada halaman sumber daya SignalR, pilih Kunci dari menu di sebelah kiri, di bawah Pengaturan.
  5. Salin string Koneksi ion untuk kunci utama. Anda memerlukan string koneksi ini untuk mengonfigurasi aplikasi Anda nanti dalam tutorial ini.

Mode tanpa server tidak didukung untuk aplikasi ASP.NET SignalR. Selalu gunakan Default atau Klasik untuk instans Azure SignalR Service.

Anda juga dapat membuat sumber daya Azure yang digunakan dalam quickstart ini dengan Membuat skrip SignalR Service.

Mengalami masalah? Coba panduan pemecahan masalah atau beri tahu kami.

Buat klon sampel aplikasi

Saat layanan disebarkan, mari beralih untuk bekerja dengan simpul. Buat klon aplikasi sampel dari GitHub, atur string koneksi SignalR Service, dan jalankan aplikasi secara lokal.

  1. Buka jendela terminal git. Ubah ke folder tempat Anda ingin membuat mengkloning sampel proyek.

  2. Jalankan perintah berikut untuk mengkloning repositori sampel. Perintah ini membuat salinan aplikasi sampel di komputer Anda.

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

Mengalami masalah? Coba panduan pemecahan masalah atau beri tahu kami.

Mengonfigurasi dan menjalankan aplikasi web Ruang Obrolan

  1. Mulai Visual Studio dan buka solusi di folder aspnet-samples/ChatRoom/ dari repositori kloning.

  2. Di browser tempat portal Microsoft Azure dibuka, temukan dan pilih instans yang Anda buat.

  3. Pilih Kunci untuk melihat string koneksi untuk instans SignalR Service.

  4. Pilih dan salin string koneksi utama.

  5. Sekarang atur string koneksi dalam file web.config.

    <configuration>
    <connectionStrings>
        <add name="Azure:SignalR:ConnectionString" connectionString="<Replace By Your Connection String>"/>
    </connectionStrings>
    ...
    </configuration>
    
  6. Dalam Startup.cs, alih-alih memanggil MapSignalR(), Anda perlu memanggil MapAzureSignalR({YourApplicationName}) dan meneruskan string koneksi untuk membuat aplikasi terhubung ke layanan alih-alih menghosting SignalR dengan sendirinya. Ganti {YourApplicationName} dengan nama aplikasi Anda. Nama ini adalah nama unik untuk membedakan aplikasi ini dari aplikasi Anda yang lain. Anda dapat this.GetType().FullName menggunakan sebagai nilai.

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

    Anda juga perlu mereferensikan layanan SDK sebelum menggunakan API ini. Buka Alat | Manajer Paket NuGet | Konsol Manajer Paket dan jalankan perintah:

    Install-Package Microsoft.Azure.SignalR.AspNet
    

    Selain perubahan ini, yang lain tetap sama, Anda masih dapat menggunakan antarmuka hub yang sudah Anda kenal untuk menulis logika bisnis.

    Catatan

    Dalam implementasi, titik akhir /signalr/negotiate diekspos untuk negosiasi oleh Azure SignalR Service SDK. Ini akan mengembalikan respons negosiasi khusus ketika klien mencoba untuk menghubungkan dan mengarahkan klien ke titik akhir layanan yang ditentukan dalam string koneksi.

  7. Tekan F5 untuk menjalankan proyek dalam mode debug. Anda dapat melihat aplikasi berjalan secara lokal. Alih-alih menghosting runtime SignalR berdasarkan aplikasi itu sendiri, sekarang aplikasi tersambung ke Azure SignalR Service.

Mengalami masalah? Coba panduan pemecahan masalah atau beri tahu kami.

Membersihkan sumber daya

Jika Anda tidak akan terus menggunakan aplikasi ini, hapus semua sumber daya yang dibuat oleh mulai cepat ini dengan langkah-langkah berikut agar Anda tidak dikenakan biaya apa pun:

  1. Di portal Azure, pilih Grup sumber daya di paling kiri, lalu pilih grup sumber daya yang Anda buat. Atau, Anda dapat menggunakan kotak pencarian untuk menemukan grup sumber daya berdasarkan namanya.

  2. Di jendela yang terbuka, pilih grup sumber daya, lalu klik Hapus grup sumber daya.

  3. Di jendela baru, ketik nama grup sumber daya untuk dihapus, lalu klik Hapus.

Penting

Menghapus grup sumber daya tidak bisa dibatalkan dan grup sumber daya serta semua sumber daya di dalamnya akan dihapus secara permanen. Pastikan Anda tidak salah menghapus grup sumber daya atau sumber daya secara tidak sengaja. Jika Anda membuat sumber daya untuk meng-host sampel ini di dalam grup sumber daya yang ada yang berisi sumber daya yang ingin disimpan, Anda dapat menghapus setiap sumber daya satu per satu dari bilahnya dan bukan menghapus grup sumber daya.

Masuk ke portal Microsoft Azure, lalu pilih Grup sumber daya.

Di kotak teks Filter menurut nama..., ketik nama grup sumber daya Anda. Petunjuk untuk mulai cepat ini menggunakan grup sumber daya bernama SignalRTestResources. Pada grup sumber daya Anda di daftar hasil, klik ... lalu Hapus grup sumber daya.

Delete

Setelah beberapa saat, grup sumber daya dan semua sumber daya di dalamnya akan dihapus.

Mengalami masalah? Coba panduan pemecahan masalah atau beri tahu kami.

Langkah berikutnya

Dalam mulai cepat ini, Anda membuat sumber daya Azure SignalR Service baru dan menggunakannya dengan aplikasi web ASP.NET baru. Selanjutnya, pelajari cara mengembangkan aplikasi real-time menggunakan Azure SignalR Service dengan ASP.NET Core.