【问题标题】:Cassini much slower than IIS for MVC RenderPartial对于 MVC RenderPartial,Cassini 比 IIS 慢得多
【发布时间】:2009-12-16 15:51:28
【问题描述】:

我有一个 MVC 视图,其中包含显示分层数据的部分视图递归调用。

完整的树通常包括大约 500 个项目。

数据全部包含在模型中,模型是一个微不足道的记录类——除了自动属性之外,什么都没有。

在 IIS 中这工作正常。

但是在 Cassini/WebDev(Visual Studio 的内置 Web 服务器)中,此页面运行缓慢且经常超时。

稍加挖掘表明这是由于每次调用 Html.RenderPartial 需要大约 200 毫秒(或 1/5 秒)。实际的局部视图似乎需要不到一毫秒左右的时间。

有人知道为什么这么慢吗?

为什么 IIS 和 Cassini 会有所不同? IIS 应用程序指向我的开发目录;它们运行完全相同的代码、构建和配置。

【问题讨论】:

    标签: asp.net-mvc iis cassini renderpartial


    【解决方案1】:

    我认为这可能与视图解析路径的缓存有关。 The article here 解释了我所指的问题。

    如果您传递视图的完整路径,您是否注意到相同的行为,例如:

     RenderPartial("~/Views/MyView.ascx")
    

    善良,

    【讨论】:

    • 感谢 (+1) 解决了该问题,但并未完全解释原因。两个服务都运行完全相同的代码(调试版本)和完全相同的 web.config - 为什么 Cassini 决定忽略缓存?
    • 这可能是因为其中一台服务器上的 Debug = true,而另一台服务器上的 = false。
    猜你喜欢
    • 2017-11-03
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 2013-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多