当升级到MVC beta到RC1时,应用程序突然崩溃,不应该崩溃

时间:2009-02-09 12:39:37

标签: asp.net-mvc viewdata

当我们将MVC beta升级到MVC RC1时,visual studio在应用程序中的某个时刻突然崩溃的开发Web服务器。经过一番搜索后,我将错误缩小到这个简单的界限:

if (!helper.ViewData.ContainsKey("SomeString"))

SomeString当时存在于viewData中,因此if语句应该返回false

执行该行时,Web服务器崩溃,程序中没有exeption。我们看到似乎来自ContainsKey方法的崩溃。有人经历过同样的问题吗?我们应该将我们的诽谤回滚到MVC beta吗?

4 个答案:

答案 0 :(得分:0)

我不知道答案,但我可以告诉你如何找到答案。我的经验是,当开发Web服务器崩溃时,通常是因为代码中的堆栈溢出(或者显然是您正在调用的框架中的代码)。您当然可以从CodePlex获取MVC源代码。您应该下载它,并将其添加到您的解决方案中。跟踪到ContainsKey。如果需要,使用Visual Studio选项跟踪.NET框架源代码。在某些时候,你应该找出代码逆转的原因。

答案 1 :(得分:0)

如果没有看到您的错误,我无法给出明确的答案,但我猜是因为ViewData.Model只是模型。

请参阅:http://blog.benhall.me.uk/2009/01/aspnet-mvc-rc1-viewdatamodel-becomes.htmlhttp://weblogs.asp.net/scottgu/archive/2009/01/27/asp-net-mvc-1-0-release-candidate-now-available.aspx

答案 2 :(得分:0)

您在Windows的事件管理器中看到了什么异常?那里有一些有用的信息,我认为应用程序名称是Casini

答案 3 :(得分:0)

我发现了这个问题。执行ContainsKey方法的代码位于外部库中。当我们将开发机器升级到RC1时,我们忘记将构建服务器升级到RC1。所以我们引用的库是通过引用mvc beta构建的。我仍然觉得奇怪的是,这些错误可能会发生,但这就是问题所在。

当我们升级构建服务器时,错误消失了。