2013-02-15 4 views
4

Я новичок в приложении MVC, пожалуйста, помогите мне.Application_Start не отвечает на RegisterAllAreas()

У меня есть приложение на Visual Studio 2012 с использованием Framework 4.0 на ПК с Windows 7, и я отлаживаю в IIS Express.

Запуск отладки, мое приложение не отвечает: после запуска Application_Start в файле Global.asax, исполнение не идет, и браузер не получит ответ или сообщения об ошибке с сервера (то есть мой localhost).

Когда Application_Start выполнен в соответствии с инструкцией AreaRegistration.RegisterAllAreas() и не более. отладки не останавливается, но и не идет к следующей инструкции:

Sub Application_Start() 
    Try 
     RouteTable.Routes.MapHubs()    ' regularly executed 
     AreaRegistration.RegisterAllAreas()  ' Break point: goes here and no more 
     ............. 
    Catch ex As Exception 
     Dim errorString As String = ex.Message ' never goes here 
    End Try 
End Sub 

У меня есть действительно несколько область Зарегистрируйтесь. Может ли кто-нибудь мне помочь? Спасибо заранее!

Федерико

PS .: Я решил это, но я до сих пор не могу понять причину моей ошибки.

Я просто написал инструкцию RouteTable.Routes.MapHubs() сразу после AreaRegistration.RegisterAllAreas(). Теперь мой код:

Sub Application_Start() 
    Try 
     AreaRegistration.RegisterAllAreas() 
     RouteTable.Routes.MapHubs() 
     .......... 
    Catch ex As Exception 
     Dim errorString As String = ex.Message 
    End Try 
End Sub 

И это работает.

Тем не менее, у меня есть много проблем с использованием концентратора для SignalR, аналогичного this one (но для меня все предлагаемые решения не работают). Должен ли я выполнять MapHubs всегда в качестве первой инструкции Application_Start? Спасибо!

Федерико

+1

Перед регистрацией маршрутов вам нужно только позвонить в MapHubs(). Обычно я звоню прямо перед любыми вызовами IgnoreRoute() или MapRoute(). –

ответ

0

Насколько я знаю, вы должны MapHubs, прежде чем зарегистрировать другие маршруты.

Что касается того, что отладка не была удалена, это, вероятно, потому, что вы вообще не можете отлаживать остановку внутри Application_Start. More information here

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