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行时,它会在不到一秒钟的时间内出现。

我能做些什么来加快这个糟糕的加载时间吗?

是我做错了什么,还是主人的错?

ASP.Net C#Webforms 40秒以上的运行时间从数据库中提取.出了什么问题

就这一点而言,这个网站以前在另一台主机上运行得更快我们移动了它。

你自己回答了