2016-02-29 61 views
-2

我发布了我的Web项目,它由共享主机上的C#MVC5 ASP.NET和实体框架编写。第一次加载时,速度非常慢,需要很长的时间将近12秒,但之后就可以了。我在一个gtmetrix.com上测试了我的网站,幸运的是在A班。有人告诉我为什么首次加载需要很长时间吗?我有一些建议。 1)它是因为实体框架? 2)它是因为我使用了很多库,它需要在加载之前加载这些dll文件? 3)我需要一些配置在IIs(我不访问IIs服务器,因为我使用共享主机)? (也编译调试是错误的) 我很感激如果有人帮助我。 网站地址是www.kajalmarket.com,最近上传。mvc asp.net web项目第一次加载

+0

IIS第一次在IIS中“点击”,IIS将编译该网站。所以,即使你正在发布你的网站预编译,IIS不会编译它,直到第一个人点击它。 – gh9

+0

感谢您的评论。所以你认为这很自然,我不应该担心,我什么都做不了。 –

+0

如果它只是影响第一个打网页的人,我不会担心它。如果它在不同的客户和不同的时间是显而易见的,那么我会调查。 – gh9

回答

0

如果您担心,您可以在部署之前进行预编译。

下面是详细信息: https://msdn.microsoft.com/en-us/library/ms227972(v=vs.90).aspx

预编译ASP.NET网站提供更快的初始响应时间,为用户因为网页没有他们被要求在第一时间进行编译做。这对经常更新的大型网站特别有用。 Click here to see screenshot

您还可以,如果你通过Visual Studio中发布 “发布过程中预编译” 选择。

另一种选择是遵循从(https://msdn.microsoft.com/en-us/library/ms366723.aspx)采取:

如果你希望能够改变顶层文件,而不会导致重新编译整个网站,你可以设置的的optimizeCompilations属性将Web.config文件中的编译元素设置为true。如果optimizeCompilations为true,那么当您更改顶级文件时,只会重新编译受影响的文件。这样可以节省时间,但可能会导致运行时错误,具体取决于您对顶级文件所做的更改类型。

使用此方法,您应该看到重新编译时间缩短,因为它只重新编译已更改的顶级文件。

HTH

+0

感谢您的回答wazdev我做了预编译,但它像以前一样。 –

+0

还有一个标志可以关闭,防止完全重新编译。我相应地更新了我的答案。 – wazdev