Application_Start不响应RegisterAllAreas()

时间:2013-02-15 09:40:49

标签: asp.net-mvc asp.net-mvc-4 application-start

我是MVC应用程序的新手,请帮助我。

我在Windows 7个人计算机上使用Framework 4.0在Visual Studio 2012上有一个应用程序,我在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

它有效。

尽管如此,我使用Hub for SignalR遇到了很多问题,类似于this one(但所有建议的解决方案都不适用于我)。 我是否始终将MapHubs作为Application_Start的第一条指令执行? 谢谢!

费德里科

1 个答案:

答案 0 :(得分:0)

据我所知,在注册其他路线之前,你必须使用MapHubs。

对于未被命中的调试停止,可能是因为您通常无法在Application_Start内部调试停止。 More information here