我最近创建了一个asp.net mvc web应用程序,并在网上发布.

当第一次加载网站时,你会发现它实际显示大约需要10-15秒,但是在点击一次后,它的加载速度与我预期的第二次加载速度一样快.我只是想知道是否有人知道为什么这个网站要花这么长时间?

推荐答案

通常,当应用程序域启动时,应用程序总是需要一点额外的时间来加载.

从编写糟糕的代码(即:Application_Start)到您可能正在使用的某些库(例如,ORMs),都可能加剧这种情况.你加载了多少个模块?

首先,查看你的网站.配置为臭名昭著的<compilation debug="true">.在生产环境中,这可能会对性能产生重大影响.将其设置为"false"!

建议在谷歌上搜索"improving application startup time",并寻找可能与您的特定应用程序相关的内容.

Update from your first comment:

如果您看到应用程序在持续30分钟后再次启动(挂起几秒钟),这很可能与IIS中的应用程序池回收设置有关.

进入IIS管理器(假设v7+:

  1. 应用程序池
  2. 右键单击用于应用程序的池
  3. Select "回收",会出现一个标签为"回收"的窗口
  4. 判断这些设置,因为它们将决定何时进行

就总体性能而言,您可能需要try :

  1. 添加一些调试语句,以在
  2. 创建一个完全干净的演示项目并部署它.看看是不是

如果你被难倒了really次,2次可能是你最好的 Select ,尽管这可能是最慢的 Select .

Asp.net相关问答推荐

在控制器中通过依赖项注入使用ASP.NET变量值时,不会持久化

我们可以在一个网页中使用多个表单吗?

HttpRuntime.Cache[] 与 Application[]

如何在 C# 中生成一个随机的 10 位数字?

如何使多行的 TextBox 控件无法调整大小?

在 DataTextField 中组合两个字段.这可能吗?

是否可以访问位于另一个项目中的 MVC 视图?

即使使用正确的 Accepts 标头,WebAPI 也不会返回 XML

ASP.NET MVC 中的 ASP.NET AJAX 与 jQuery

无法使用单例Microsoft.AspNetCore.Hosting.Internal.HostedServiceExecutor中的范围服务MyDbContext

Ef core:执行 MaxAsync 时序列不包含任何元素

如何将图像 url 转换为 system.drawing.image

使用 Moq 验证活动注册

单独装配和路由中的控制器

如何从url中删除returnurl?

回发后运行javascript函数

System.Threading.Tasks - 限制并发任务的数量

x-powered by是什么意思?

ModalPopupExtender OK 按钮单击事件未触发?

在控制器 asp.net-core 中获取当前区域性