Ответ 1
Я отключил ссылку браузера. Второй №4 по этой ссылке.
Начиная с обновления до VS2013, мы получаем эту ошибку при запуске нашего веб-приложения (MCV4):
The controller for path '/9ac086a69364466a841e03e001f946fd/arterySignalR/ping' could not be found.
Я знаю, что это связано с ссылкой на браузер, хотя я не уверен, что нам нужно сделать, чтобы он работал правильно. Нужно ли изменить конфигурацию для поддержки этой новой функции?
Я отключил ссылку браузера. Второй №4 по этой ссылке.
Если вы хотите воспользоваться Browser Link, но не хотите отсутствующих исключений пути контроллера, вы можете добавить регулярное выражение ignore к своей коллекции маршрутов. Это то, что я сделал:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
#if DEBUG
routes.IgnoreRoute("{*browserlink}", new { browserlink = @".*/arterySignalR/ping" });
#endif
//...
}
Техника регулярных выражений любезно предоставлена этим сообщением Фила Хаака.
В VS2013 решение @Todd не работало для меня, поэтому я сделал свой собственный.
Надеюсь, это сэкономит вам некоторое время.
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
#if DEBUG
routes.IgnoreRoute("{*browserlink}", new { browserlink = @".*__browserLink.*" });
#endif
}
Добавьте в корневой каталог web.config
следующее:
<appSettings>
<add key="vs:EnableBrowserLink" value="false" />
</appSettings>
Это известная проблема с SignalR и была исправлена в SignalR 2.0.1 и 1.1.5:
2.0.1: https://github.com/SignalR/SignalR/issues/2569 (еще не выпущено)
1.1.5: https://github.com/SignalR/SignalR/issues/2570 (еще не выпущено)
Короче говоря, ничего не поделаешь, чтобы изменить его, просто дождитесь следующей версии ссылки на браузер, у которой есть более новая версия SignalR.
В VS2013, после некоторых обновлений пакета пакета nuget.
Очищено решение, закрыты VS и IISExpress из try and resolved