我最近创建了一个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. 选择"回收",会出现一个标签为"回收"的窗口
  4. 判断这些设置,因为它们将决定何时进行

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

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

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

Asp.net相关问答推荐

为什么使用 HttpClient 进行同步连接

IConfiguration 不包含 GetValue 的定义

如何在 .Net Core ActionFilterAttribute 中使用依赖注入?

Httpclient 该实例已经启动了一个或多个请求.只能在发送第一个请求之前修改属性

新的 csproj 文件结构可以与 ASP.NET Framework 项目一起使用吗?

对于每个请求,RestClient 应该是单例还是新的

为什么 aspnet 核心从 Docker 内部的端口 80 启动?

C# ASP.NET Core Serilog 添加类名和方法到日志(log)

.Net Standard 2.0 类库是否有通用配置文件?

没有身份的 ASP.NET Core 2.0 承载身份验证

ASP.NET Web 应用程序 (.NET Framework) 与 ASP.NET Core Web 应用程序 (.NET Framework) 之间的差异

返回 JSON 对象 (ASP.NET WebAPI)

ASP.NET Core 中的 NuGet 包位置在哪里?

在 aspnetcore (netcoreapp1.0) 中替代 System.Web.Security.Membership.GeneratePassword

什么是实体框架中的复杂类型以及何时使用它?

错误请求 - 无效的主机名 ASP.net Visual Studio 2015

如何删除所有表并重置 Azure SQL 数据库

在 C# 中将 IHtmlContent/TagBuilder 转换为字符串

解密 Forms cookie 时出现“加密操作期间出错”

预定义类型“System.Object”未定义或导入.net 4.6