ASP.Net C#Webforms 40秒以上的运行时间从数据库中提取.出了什么问题
本文关键字:提取 数据库 问题 什么 运行时间 C#Webforms Net 40秒 ASP | 更新日期: 2023-09-27 18:27:10
我有一个在ASP.Net/VisionStudio中创建的网站。其中的一个页面从MSSQL数据库中提取博客文本。每条帖子中的文本有几千个字符,数据库中只有14行,当我打开网站时,加载需要40秒。这不是我的互联网连接或电脑。它托管在GoDaddy窗口托管(共享)上,他们告诉我他们的服务器运行良好,我的代码肯定有问题。我在另一个网站上使用了基本上完全相同的代码,使用了不同的主机,没有这样的延迟。就这一点而言,在我们移动它之前,这个网站在另一台主机上运行得更快
导致问题的页面是http://www.triggerfind.com/blog/blog.aspx
我使用了一个跟踪来找出问题的确切原因。Page_Load上运行的代码是:
Trigger4.AppCode.PostModel model = new Trigger4.AppCode.PostModel();
List<Post> blogPosts = new List<Post>();
blogPosts = model.GetAllPosts();
DisplayPosts(blogPosts, 1, 1);
造成所有延迟的一行是:
blogPosts = model.GetAllPosts();
它在一个单独的文件中调用以下函数:
public List<Post> GetAllPosts()
{
try
{
using (triggerDBEntities db = new triggerDBEntities())
{
List<Post> ps = (from x in db.Posts
orderby x.DateTime descending
select x).ToList();
return ps;
}
}
catch (Exception e)
{
return null;
}
}
此外,当我使用SQLServerManagementStudio访问数据库并选择前1000行时,它会在不到一秒钟的时间内出现。
我能做些什么来加快这个糟糕的加载时间吗?
是我做错了什么,还是主人的错?
就这一点而言,这个网站以前在另一台主机上运行得更快我们移动了它。
你自己回答了