SignalR 1.x Projelerini 2 sürümüne yükseltme

Tarafından Patrick Fletcher

Uyarı

Bu belgeler SignalR'nin en son sürümüne yönelik değildir. ASP.NET Core SignalR'ye göz atın.

Bu konuda, mevcut bir SignalR 1.x projesini SignalR 2.x'e yükseltme ve yükseltme işlemi sırasında ortaya çıkabilecek sorunları giderme işlemleri açıklanmaktadır.

Öğreticide kullanılan yazılım sürümleri

Bu öğreticiyle Visual Studio 2012 kullanma

Visual Studio 2012'yi bu öğreticiyle kullanmak için aşağıdakileri yapın:

  • Paket Yöneticinizi en son sürüme güncelleştirin.
  • Web Platformu Yükleyicisi'ni yükleyin.
  • Web Platformu Yükleyicisi'nde Visual Studio 2012 için ASP.NET and Web Tools 2013.1'i arayın ve yükleyin. Bu işlem Hub gibi SignalR sınıfları için Visual Studio şablonlarını yükler.
  • Bazı şablonlar ( OWIN Başlangıç Sınıfı gibi) kullanılamaz; bunun yerine bir Sınıf dosyası kullanın.

Sorular ve yorumlar

Lütfen bu öğreticiyi nasıl beğendiğiniz ve sayfanın altındaki yorumlarda neleri geliştirebileceğimiz hakkında geri bildirim bırakın. Öğreticiyle doğrudan ilgili olmayan sorularınız varsa bunları ASP.NET SignalR forumunu veya StackOverflow.com gönderebilirsiniz.

SignalR 2, OWIN kullanarak sunucu platformları arasında tutarlı bir geliştirme deneyimi sunar. Bu makalede SignalR 1.x uygulamasını sürüm 2'ye güncelleştirmek için gereken birkaç adım açıklanmaktadır.

Uygulamaları SignalR 2'ye yükseltmesi teşvik edilse de SignalR 1.x yine de desteklenecektir.

Bu öğretici, web'de barındırılan bir uygulamayı SignalR 2'ye yükseltmeyi açıklar. Şirket içinde barındırılan uygulamalar (konsol uygulamasında, Windows hizmetinde veya başka bir işlemde sunucu barındıran uygulamalar) artık SignalR 2 altında desteklenmektedir. SignalR 2 ile şirket içinde barındırılan uygulama oluşturmaya başlama hakkında bilgi için bkz . Öğretici: SignalR Kendi Kendine Ana Bilgisayarı.

İçindekiler

Aşağıdaki bölümlerde SignalR projelerini yükseltmeyle ilgili görevler ve ortaya çıkabilecek sorunları giderme adımları açıklanmaktadır.

Örnek: Başlarken öğretici uygulamasını SignalR 2'ye yükseltme

Bu bölümde, SignalR 2'yi kullanmak için Kullanmaya Başlama Öğreticisi'nin SignalR 1.x sürümünde oluşturulan uygulamayı güncelleştireceksiniz.

  1. Başlarken öğreticisini tamamladıktan sonra projeye sağ tıklayın ve Özellikler'i seçin. Hedef çerçevenin.NET Framework 4.5 olarak ayarlandığını doğrulayın.

  2. Paket Yöneticisi Konsolu'nu açın. Aşağıdaki komutu kullanarak SignalR 1.x'i projeden kaldırın:

    Uninstall-Package Microsoft.AspNet.SignalR -RemoveDependencies
    
  3. Aşağıdaki komutu kullanarak SignalR 2'yi yükleyin:

    Install-Package Microsoft.AspNet.SignalR
    
  4. HTML sayfasında SignalR için betik başvurusunu, artık projeye dahil edilen betiğin sürümüyle eşleşecek şekilde güncelleştirin.

    <!--Reference the SignalR library. -->
    <script src="Scripts/jquery.signalR-2.1.0.min.js"></script>
    
  5. Genel uygulama sınıfında MapHubs çağrısını kaldırın.

    protected void Application_Start(object sender, EventArgs e)
    {
        RouteTable.Routes.MapHubs();
    }
    
  6. Çözüme sağ tıklayın ve Ekle, Yeni Öğe...'yi seçin. İletişim kutusunda Owin Başlangıç Sınıfı'nı seçin. Yeni sınıfa Startup.cs adını verin.

    Yeni Öğe Ekle iletişim kutusunu gösteren ekran görüntüsü. OWIN Başlangıç sınıfı seçilir ve Başlangıç noktası C S Ad alanındadır.

  7. Startup.cs dosyasının içeriğini aşağıdaki kodla değiştirin:

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

    assembly özniteliği sınıfını Owin'in başlangıç işlemine ekler ve Owin başlatıldığında yöntemini yürütür Configuration . Bu da uygulamadaki MapSignalR tüm SignalR hub'ları için yollar oluşturan yöntemini çağırır.

  8. Projeyi çalıştırın ve ana sayfanın URL'sini daha önce olduğu gibi başka bir tarayıcıya veya tarayıcı bölmesine kopyalayın. Her sayfa bir kullanıcı adı ister ve her sayfadan gönderilen iletiler her iki tarayıcı bölmesinde de görünür olmalıdır.

Yükseltme sırasında karşılaşılan hataları giderme

Bu bölümde yükseltme sırasında ortaya çıkabilecek sorunlar açıklanmaktadır. SignalR uygulamasında oluşabilecek hataların ve sorunların daha kapsamlı bir listesi için bkz. SignalR Sorunlarını Giderme.

'Çağrı aşağıdaki yöntemler veya özellikler arasında belirsiz'

Başvurusu Microsoft.AspNet.SignalR.Owin kaldırılmazsa bu hata oluşur. Bu paket kullanım dışı bırakıldı; başvuru kaldırılmalı ve SelfHost paketinin 1.x sürümü kaldırılmalıdır.

Hub yöntemleri sessizce başarısız olur

İstemcinizdeki betik başvurularının güncel olduğunu ve Startup sınıfınızın özniteliğinin OwinStartup projeniz için doğru sınıf ve derleme adlarına sahip olduğunu doğrulayın. Ayrıca, tarayıcınızda hubs adresini (/signalr/hubs) açmayı deneyin; görüntülenen herhangi bir hata, neyin yanlış gittiği hakkında daha fazla bilgi sunar.