Bagikan melalui


Meningkatkan Proyek SignalR 1.x ke versi 2

oleh Patrick Fletcher

Peringatan

Dokumentasi ini bukan untuk versi terbaru SignalR. Lihat ASP.NET Core SignalR.

Topik ini menjelaskan cara meningkatkan proyek SignalR 1.x yang ada ke SignalR 2.x, dan cara memecahkan masalah yang mungkin muncul selama proses peningkatan.

Versi perangkat lunak yang digunakan dalam tutorial

Menggunakan Visual Studio 2012 dengan tutorial ini

Untuk menggunakan Visual Studio 2012 dengan tutorial ini, lakukan hal berikut:

  • Perbarui Pengelola Paket Anda ke versi terbaru.
  • Instal Alat Penginstal Platform Web.
  • Di Alat Penginstal Platform Web, cari dan instal ASP.NET dan Web Tools 2013.1 untuk Visual Studio 2012. Ini akan menginstal templat Visual Studio untuk kelas SignalR seperti Hub.
  • Beberapa templat (seperti Kelas Startup OWIN) tidak akan tersedia; untuk ini, gunakan file Kelas sebagai gantinya.

Pertanyaan dan komentar

Silakan tinggalkan umpan balik tentang bagaimana Anda menyukai tutorial ini dan apa yang dapat kami tingkatkan di komentar di bagian bawah halaman. Jika Anda memiliki pertanyaan yang tidak terkait langsung dengan tutorial, Anda dapat mempostingnya ke forum ASP.NET SignalR atau StackOverflow.com.

SignalR 2 menawarkan pengalaman pengembangan yang konsisten di seluruh platform server menggunakan OWIN. Artikel ini menjelaskan beberapa langkah yang diperlukan untuk memperbarui aplikasi SignalR 1.x ke versi 2.

Meskipun didorong untuk meningkatkan aplikasi ke SignalR 2, SignalR 1.x masih akan didukung.

Tutorial ini menjelaskan cara meningkatkan aplikasi yang dihosting web ke SignalR 2. Aplikasi yang dihost sendiri (aplikasi yang menghosting server di aplikasi konsol, layanan Windows, atau proses lainnya) sekarang didukung di bawah SignalR 2. Untuk informasi tentang cara mulai membuat aplikasi yang dihost sendiri dengan SignalR 2, lihat Tutorial: SignalR Self-Host.

Konten

Bagian berikut menjelaskan tugas yang terlibat dengan peningkatan proyek SignalR, dan cara memecahkan masalah yang mungkin muncul.

Contoh: Meningkatkan aplikasi tutorial Memulai ke SignalR 2

Di bagian ini, Anda akan memperbarui aplikasi yang dibuat di Tutorial Memulai versi SignalR 1.x untuk menggunakan SignalR 2.

  1. Setelah Anda menyelesaikan tutorial Memulai, klik kanan pada proyek, dan pilih Properti. Verifikasi bahwa Kerangka kerja target diatur ke .NET Framework 4.5.

  2. Buka Konsol Manajer Paket. Hapus SignalR 1.x dari proyek menggunakan perintah berikut:

    Uninstall-Package Microsoft.AspNet.SignalR -RemoveDependencies
    
  3. Instal SignalR 2 menggunakan perintah berikut:

    Install-Package Microsoft.AspNet.SignalR
    
  4. Di halaman HTML, perbarui referensi skrip untuk SignalR agar sesuai dengan versi skrip yang sekarang disertakan dalam proyek.

    <!--Reference the SignalR library. -->
    <script src="Scripts/jquery.signalR-2.1.0.min.js"></script>
    
  5. Di kelas aplikasi global, hapus panggilan ke MapHubs.

    protected void Application_Start(object sender, EventArgs e)
    {
        RouteTable.Routes.MapHubs();
    }
    
  6. Klik kanan solusi, dan pilih Tambahkan, Item Baru.... Dalam dialog, pilih Kelas Startup Owin. Beri nama kelas baru Startup.cs.

    Cuplikan layar yang memperlihatkan kotak dialog Tambahkan Item Baru. Kelas Startup OWIN dipilih dan Startup dot C S berada di bidang Nama.

  7. Ganti konten Startup.cs dengan kode berikut:

    using Microsoft.Owin;
    using Owin;
    
    [assembly: OwinStartup(typeof(SignalRChat.Startup))]
    namespace SignalRChat
    {
       
        public class Startup
        {
            public void Configuration(IAppBuilder app)
            {
                app.MapSignalR();
            }
        }
    }
    

    Atribut assembly menambahkan kelas ke proses startup Owin, yang menjalankan Configuration metode saat Owin dimulai. Ini pada gilirannya MapSignalR memanggil metode , yang membuat rute untuk semua hub SignalR dalam aplikasi.

  8. Jalankan proyek, dan salin URL halaman utama ke panel browser atau browser lain, seperti sebelumnya. Setiap halaman akan meminta nama pengguna, dan pesan yang dikirim dari setiap halaman harus terlihat di kedua panel browser.

Kesalahan pemecahan masalah yang ditemui selama peningkatan

Bagian ini menjelaskan masalah yang mungkin muncul selama peningkatan. Untuk daftar kesalahan dan masalah yang lebih komprehensif yang mungkin terjadi dengan aplikasi SignalR, lihat Pemecahan Masalah SignalR.

'Panggilan ini ambigu antara metode atau properti berikut'

Kesalahan ini akan terjadi jika referensi ke Microsoft.AspNet.SignalR.Owin tidak dihapus. Paket ini tidak digunakan lagi; referensi harus dihapus dan versi 1.x dari paket SelfHost harus dihapus instalasinya.

Metode hub gagal secara diam-diam

Verifikasi bahwa referensi skrip di klien Anda sudah diperbarui, dan atribut OwinStartup untuk kelas Startup Anda memiliki kelas dan nama rakitan yang benar untuk proyek Anda. Selain itu, coba buka alamat hub (/signalr/hubs) di browser Anda; kesalahan apa pun yang muncul akan menawarkan informasi lebih lanjut tentang apa yang salah.