Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Предупреждение
Эта документация не подходит для последней версии 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 и веб-инструменты 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 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-адрес главной страницы в другой браузер или панель браузера, как делали раньше. Каждая страница будет запрашивать имя пользователя, а сообщения, отправленные с каждой страницы, должны отображаться в обеих панелях браузера.
Устранение ошибок при обновлении
В этом разделе описываются проблемы, которые могут возникнуть во время обновления. Более полный список ошибок и проблем, которые могут возникнуть с приложением SignalR, см. в разделе "Устранение неполадок SignalR".
"Вызов неоднозначный между следующими методами или свойствами"
Эта ошибка возникает, если ссылка Microsoft.AspNet.SignalR.Owin на не удалена. Этот пакет не рекомендуется; Ссылка должна быть удалена, и необходимо удалить версию пакета SelfHost версии 1.x.
Методы концентратора завершаются без уведомления
Убедитесь, что ссылки на скрипты в клиенте актуальны, и что OwinStartup атрибут для класса Startup имеет правильные имена классов и сборок для проекта. Кроме того, попробуйте открыть адрес хабов (/signalr/hubs) в браузере; любая ошибка, которая отобразится, предоставит больше информации о проблеме.