2013-07-25 3 views
3

Я создал приложение простого чата с использованием SignalR, Visual studio 2013 (но приложение в 2012 году), framework 4.5.Чат SignalR не работает при настройке в IIS7 - windows 7

Я использую ASP.NET WebForms только (не MVC)

Its работает, когда я запускаю через Visual Studio. Но когда я настроен в IIS, это дает следующее сообщение об ошибке в окне консоли -

GET http://localhost/chat/signalr/hubs 404 (Not Found) localhost/:30 
Uncaught TypeError: Cannot read property 'client' of undefined localhost/chat/:112 

«чат» это имя виртуального каталога.

Добавлено сообщение. а также в web.config -

<system.webServer> 
    <validation validateIntegratedModeConfiguration="false"/> 
    <modules runAllManagedModulesForAllRequests="true"/> 
</system.webServer> 

код из Global.asax.cs-

protected void Application_Start(object sender, EventArgs e) 
    { 
     // Register the default hubs route: ~/signalr/hubs 
     RouteTable.Routes.MapHubs(); 
    } 

кодекса от index.html -

<!--Reference the SignalR library. --> 
<script src="Scripts/jquery.signalR-1.0.0.js"></script> 

<!--Reference the autogenerated SignalR hub script. --> 
<script src="signalr/hubs"></script> 

Я попытался это, как хорошо, но не удалось -

<script src="<%= ResolveUrl("~/signalr/hubs") %>" type="text/javascript"></script> 

ПРИМЕЧАНИЕ. - Я м, ссылаясь на это http://www.codeproject.com/Articles/562023/Asp-Net-SignalR-Chat-Room Заранее спасибо.

+0

Я пробовал все решения из следующей ссылки - https://github.com/SignalR/SignalR/wiki/Faq – Abhi

+0

Возможный дубликат: http://stackoverflow.com/questions/17237037/signalr-fails-on-iis – slfan

ответ

0

Если вы запустите его в Visual Studio, вы, вероятно, используете IIS Express в версии 8. SignalR использует веб-сокеты, которые не полностью поддерживаются в IIS 7.x, поэтому вы должны использовать либо Windows 8, либо Server 2012. Конечно, вы может использовать IIS Express 8 во время разработки.

+0

Вы хотите установить IIS8? Я использую IIS7, но не 7.5 – Abhi

+0

Правильно, вы используете либо Windows 8, либо Server 2012. – slfan

+0

http://stackoverflow.com/questions/11601561/signalr-w-web-sockets –

0

У меня была именно проблема, она была фиксированной после того как я установлен IIS 7.5 extensionless зоныСкидки на авиабилетыОтзывыhotfix

+0

SignalR будет работать, конечно, но он не будет использовать WebSockets, потому что Windows 7 НЕ поддержка WebSockets. SignalR будет использовать резервный механизм. См. Это сообщение в блоге для получения дополнительной информации https://blogs.msdn.microsoft.com/timlee/2013/03/21/hosting-a-signalr-application-on-windows-2008r2-and-iis-7-5/ – slfan

0

вы можете попробовать использовать WebSocket в качестве транспортного слоя

вар соединение = $ .hubConnection ('http: //' + window.location.host); var proxy = connection.createHubProxy ('chatHub');

connection.start ({транспорт: ['webSockets']}). Done (function() {});

Смежные вопросы