gpt4 book ai didi

performance - ASP.NET MVC 3站点加载非常慢

转载 作者:行者123 更新时间:2023-12-03 12:15:42 24 4
gpt4 key购买 nike

我真的不知道从哪里开始这个问题,但有时我正在工作的网站页面加载速度确实很慢。特别是在构建之后,但并非总是如此。我通常必须刷新页面5到10次才能真正显示它。我想我正在尝试看看应该从哪里开始看。

ASP.NET MVC 3
Ninject
自动贴图
Entity Framework 代码优先4.1
SQL Server 2008
Razor

更新

关于某些问题,它可以在每个页面上执行此长时间的加载,但是在所有页面上加载后很快。

发布并获得您的答复后,我启动了该应用程序,该应用程序仍在加载,除非我在浏览器上单击“重新加载”,否则可能永远不会加载。

没有缓存,并且EF模型并不庞大。

我正在使用具有6 GB内存和I7处理器的Razor和Visual Studio 2010。

调试时,我正在使用IIS Express和默认的Web服务器。它还在主服务器上的IIS7上执行此操作。

我可能会研究MVC Profiler和Glimpse,以查找可以找到的内容。

在下面,我有一些到达首页时就会运行的代码。我会说当我第一次启动服务器时它永远不会加载。我在永远不会受到打击的var模型上设置了一个断点。如果我重新加载页面,那就可以了。

public ActionResult Index()
{
var model = new HomeViewModel();

model.RecentHeadlines = _headlineService.GetHeadlines(1, Config.RecentHeadlinesPageSize, string.Empty);

return View(model);
}

下面也是我的datacontext设置。
public class DatabaseFactory : Disposable, IDatabaseFactory
{
private DataContext _dataContext;
public DataContext Get()
{
return _dataContext ?? (_dataContext = new DataContext());
}
protected override void DisposeCore()
{
if (_dataContext != null)
_dataContext.Dispose();
}
}

public class Disposable : IDisposable
{
private bool isDisposed;

~Disposable()
{
Dispose(false);
}

public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);
}
private void Dispose(bool disposing)
{
if (!isDisposed && disposing)
{
DisposeCore();
}

isDisposed = true;
}

protected virtual void DisposeCore()
{
}
}

public class UnitOfWork : IUnitOfWork
{
private readonly IDatabaseFactory _databaseFactory;
private DataContext _dataContext;

public UnitOfWork(IDatabaseFactory databaseFactory)
{
_databaseFactory = databaseFactory;
}

protected DataContext DataContext
{
get { return _dataContext ?? (_dataContext = _databaseFactory.Get()); }
}

public void Commit()
{
DataContext.Commit();
}
}

最佳答案

首先,我将检查IIS中设置的超时时间,以使该过程能够自行回收。

我也是MVC Mini-Profiler的忠实拥护者,它可以向您确切显示页面加载的各个部分花费了多长时间,一定要看看它。

编辑:

值得注意的是,这些天Glimpse project也非常适合此任务。

关于performance - ASP.NET MVC 3站点加载非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8526080/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com