Я пытаюсь написать небольшой проект SignalR. Когда проект запущен под IIS Express, все работает так, как должно.SignalR не работает на локальном IIS, но работает с IIS Express
Но когда в свойствах проекта Visual Studio я переключаюсь на «Local IIS» и пытаюсь запустить, моя страница загружается и не подключается к SignalR Server.
Я проверил с Fiddler, и я обнаружил, что, хотя весь скрипт загружен правильно относительно пути, вызовы SignalR выполняются в корневом каталоге веб-сайта. Таким образом, в стельку я вижу что-то вроде этого:
3 304 HTTP localhost /TestApp/Scripts/jquery-1.10.2.min.js 0 microsoftedgecp:11004
4 304 HTTP localhost /TestApp/Scripts/jquery.signalR-2.1.2.min.js 0 microsoftedgecp:11004
6 404 HTTP localhost /signalr/negotiate?clientProtocol=1.4&connectionData=%5B%7B%22name%22%3A%22testapphub%22%7D%5D&_=1440092162315 4,958 private text/html; charset=utf-8 microsoftedgecp:11004
Как вы можете видеть, SignalR называет это переговоры о /signalr
в то время как проект работает под /TestApp/
Как я могу сказать ему, чтобы посмотреть на то, чтобы исправить местоположение (относительное)?
Редактировать
Это мой OwinStartup.cs
:
public void Configuration(IAppBuilder app)
{
app.MapSignalR();
}
Я никогда ничего определено в global.asax - я должен?
Можете ли вы показать нам файл запуска, в котором вы выполните свою конфигурацию? Вам также нужен звонок в MapHubs в вашем Global.asax - вот что? –
@MichaelMcPherson Я добавил информацию выше. У меня нет ничего определенного в моем global.asax - должен ли я? – developer82
Какое веб-приложение работает? Это пустые веб-приложения, MVC, WebAPI? –