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
- Visual Studio 2013
- .NET 4.5
- SignalR sürüm 1 ve 2
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: Kullanmaya Başlama öğreticisini SignalR 2'ye yükseltme
- Yükseltme sırasında karşılaşılan hataları giderme
Ö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.
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.
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
Aşağıdaki komutu kullanarak SignalR 2'yi yükleyin:
Install-Package Microsoft.AspNet.SignalR
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>
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(); }
Çö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.
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
MapSignalRtüm SignalR hub'ları için yollar oluşturan yöntemini çağırır.
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.