MVC 4. Signalr/Hub не загружается в IIS 7, но корректно работает в Visual Studio

Я работаю над веб-приложением на платформе Asp .Net 4.0, использующей SignalR, установив его из пакета Nuget. Когда я отлаживаю или запускаю приложение без локальной отладки, оно работает правильно. Однако, когда он развернут на производственном сервере, он не может найти сигнал/концентраторы.

Следующие флаги в web.config не помогли.

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

person FreeVice    schedule 17.07.2012    source источник
comment
Кассини или IIS Express? Можете ли вы запустить его на локальном хосте на своем компьютере с Win7? См. blogs.msdn.com/b/rickandy/archive/2011/04/22/ Что за сообщение об ошибке?   -  person RickAndMSFT    schedule 17.07.2012
comment
С IIS Express все в порядке, проблема на виртуальном хостинге с IIS 7.0.   -  person FreeVice    schedule 18.07.2012
comment
[HttpException]: контроллер для пути «/signalr/hubs» не найден или не реализует IController. в System.Web.Mvc.DefaultControllerFactory.GetControllerInstance(RequestContext requestContext, Type controllerType) в System.Web.Mvc.DefaultControllerFactory.CreateController(RequestContext requestContext, String controllerName) в System.Web.Mvc.MvcHandler.ProcessRequestInit(HttpContextBase httpContext, IController& controller , IControllerFactory& factory) в System.Web.Mvc.MvcHandler.‹›c__DisplayClass6.‹BeginProcessRequest›b__2()...   -  person FreeVice    schedule 18.07.2012
comment
Заставьте его работать на Win7/LocalHost   -  person RickAndMSFT    schedule 19.07.2012


Ответы (2)


Похоже, необходимо использовать @Url.Content("~/Signalr/Hubs")... Ссылка: Часто задаваемые вопросы по сигналу

Должен был быть комментарий, но не хватает повторений :-(.

person sumitkm    schedule 17.07.2012

В моем случае я настраивал SignalR на новой виртуальной машине Windows 7 и, наконец, обнаружил, что произошла ошибка, когда я перешел к функции компиляции .NET в Inetmgr.

При выполнении этой операции произошла ошибка. Подробности: Имя файла: \?\C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\web.config Номер строки: 137 Ошибка: нераспознанный элемент 'folderLevelBuildProviders'

Итак, все, что мне нужно было сделать, это запустить «aspnet_regiis -iru», и это решило проблему с ошибкой 404.

http://www.hanselman.com/blog/ASPNET4BreakingChangesAndStuffToBeAwareOf.aspx

person Balaji Gunasekaran    schedule 27.08.2012