Обновление проектов SignalR 1.x до версии 2
Предупреждение
Эта документация не для последней версии SignalR. Взгляните на ASP.NET Core SignalR.
В этом разделе описывается обновление существующего проекта SignalR 1.x до SignalR 2.x и устранение неполадок, которые могут возникнуть в процессе обновления.
Версии программного обеспечения, используемые в этом руководстве
- Visual Studio 2013
- .NET 4.5
- SignalR версий 1 и 2
Использование Visual Studio 2012 с этим руководством
Чтобы использовать Visual Studio 2012 с этим руководством, выполните следующие действия.
- Обновите диспетчер пакетов до последней версии.
- Установите установщик веб-платформы.
- В установщике веб-платформы найдите и установите ASP.NET and Web Tools 2013.1 для Visual Studio 2012. При этом будут установлены шаблоны Visual Studio для классов SignalR, таких как Hub.
- Некоторые шаблоны (например , класс запуска OWIN) будут недоступны; вместо этого используйте файл класса.
Вопросы и комментарии
Оставьте отзыв о том, как вам понравилось это руководство и что мы могли бы улучшить в комментариях в нижней части страницы. Если у вас есть вопросы, которые не связаны напрямую с руководством, вы можете опубликовать их на форуме ASP.NET SignalR или StackOverflow.com.
SignalR 2 предлагает согласованный процесс разработки на разных серверных платформах с помощью OWIN. В этой статье описывается несколько шагов, необходимых для обновления приложения SignalR 1.x до версии 2.
Хотя рекомендуется обновить приложения до SignalR 2, SignalR 1.x по-прежнему будет поддерживаться.
В этом руководстве описывается обновление веб-приложения до SignalR 2. Локальные приложения (те, которые размещают сервер в консольном приложении, службе Windows или другом процессе) теперь поддерживаются в SignalR 2. Сведения о том, как приступить к созданию локального приложения с помощью SignalR 2, см. в статье Руководство по самостоятельному размещению SignalR.
Содержимое
В следующих разделах описаны задачи, связанные с обновлением проектов SignalR, и способы устранения неполадок, которые могут возникнуть.
- Пример. Обновление руководства по начало работы до SignalR 2
- Устранение ошибок, возникших во время обновления
Пример. Обновление приложения учебника по начало работы до SignalR 2
В этом разделе вы обновите приложение, созданное в Версии SignalR 1.x руководства по начало работы, чтобы использовать SignalR 2.
Завершив работу с руководством по начало работы, щелкните проект правой кнопкой мыши и выберите Пункт Свойства. Убедитесь, что для целевой платформы задано значение платформа .NET Framework 4.5.
Откройте консоль диспетчера пакетов. Удалите SignalR 1.x из проекта с помощью следующей команды:
Uninstall-Package Microsoft.AspNet.SignalR -RemoveDependencies
Установите SignalR 2 с помощью следующей команды:
Install-Package Microsoft.AspNet.SignalR
На HTML-странице обновите ссылку на скрипт для SignalR в соответствии с версией скрипта, включенного в проект.
<!--Reference the SignalR library. --> <script src="Scripts/jquery.signalR-2.1.0.min.js"></script>
В классе глобального приложения удалите вызов MapHubs.
protected void Application_Start(object sender, EventArgs e) { RouteTable.Routes.MapHubs(); }
Щелкните решение правой кнопкой мыши и выберите Добавить, Создать элемент.... В диалоговом окне выберите Класс запуска Owin. Назовите новый класс Startup.cs.
Замените содержимое файла Startup.cs следующим кодом:
using Microsoft.Owin; using Owin; [assembly: OwinStartup(typeof(SignalRChat.Startup))] namespace SignalRChat { public class Startup { public void Configuration(IAppBuilder app) { app.MapSignalR(); } } }
Атрибут сборки добавляет класс в процесс запуска Owin, который выполняет
Configuration
метод при запуске Owin. Это, в свою очередь, вызываетMapSignalR
метод , который создает маршруты для всех центров SignalR в приложении.Запустите проект и скопируйте URL-адрес страницы main в другой браузер или панель браузера, как и раньше. На каждой странице будет запрашиваться имя пользователя, а сообщения, отправленные с каждой страницы, должны отображаться в обеих панелях браузера.
Устранение ошибок, возникших во время обновления
В этом разделе описываются проблемы, которые могут возникнуть во время обновления. Более полный список ошибок и проблем, которые могут возникнуть с приложением SignalR, см. в статье Устранение неполадок SignalR.
"Вызов неоднозначный между следующими методами или свойствами"
Эта ошибка возникает, если ссылка на Microsoft.AspNet.SignalR.Owin
не удалена. Этот пакет является нерекомендуемой; необходимо удалить ссылку и удалить версию 1.x пакета SelfHost.
Методы концентратора завершаются автоматическим сбоем
Убедитесь, что ссылки на скрипты в клиенте актуальны, а OwinStartup
атрибут класса Startup имеет правильные имена классов и сборок для вашего проекта. Кроме того, попробуйте открыть адрес концентраторов (/signalr/hubs) в браузере; Любая появиющаяся ошибка предоставит дополнительные сведения о том, что происходит не так.