我面临着非常奇怪的情况。我正在开发我的ASP.NET
应用程序并在 Visual Studio 开发服务器上对其进行调试,当我完成某些组件时,我在 IIS 上发布我的应用程序以让其他人测试输入数据。所以当我在 dev 上运行它时。服务器,一切都很好,但在 IIS 上,页面加载速度非常慢。
所以第一个问题是如何编译应用程序比调试模式下的应用程序更慢?
我想找出原因,所以我开始从我的site.master.cs
文件中删除 JavaScript 包含。它实际上有所帮助,但它以意想不到的方式起作用。
我的包含由以下代码完成:
ClientScriptManager cs =Page.ClientScript;
cs.RegisterClientScriptInclude(typeof(string), "jquery", Page.ResolveClientUrl("~/Scripts/jquery-1.8.0.min.js"));
cs.RegisterClientScriptInclude(typeof(string), "jqueryUI", Page.ResolveClientUrl("~/Scripts/jquery-ui-1.8.23.custom.min.js"));
cs.RegisterClientScriptInclude(typeof(string), "utility", Page.ResolveClientUrl("~/Scripts/utility.js"));
cs.RegisterClientScriptInclude(typeof(string), "forms_v2", Page.ResolveClientUrl("~/Scripts/forms_v2.js"));
cs.RegisterClientScriptInclude(typeof(string), "odkazy", Page.ResolveClientUrl("~/Scripts/odkazy.js"));
cs.RegisterClientScriptInclude(typeof(string), "tabs_v2", Page.ResolveClientUrl("~/Scripts/tabs_v2.js")); //Nahradí tabs
cs.RegisterClientScriptInclude(typeof(string), "user", Page.ResolveClientUrl("~/Scripts/user.js"));
cs.RegisterClientScriptInclude(typeof(string), "grafika", Page.ResolveClientUrl("~/Scripts/grafika.js"));
cs.RegisterClientScriptInclude(typeof(string), "json2", Page.ResolveClientUrl("~/Scripts/json2.js"));//IE7
因此,通过一一删除包含我发现问题仅由forms_v2.js
但我不能简单地删除此脚本引起,我需要确切找出哪个函数减慢了我的应用程序。但是在删除脚本中的整个文本后,没有任何变化。
所以最后的情况是这样的:当有包含时,forms_v2.js
即使它是空文件,我的应用程序也很慢,但是当这个包含被删除时,一切正常。
PS我知道为了提高性能最好减少JS文件,我会在部署之前合并它并缩小,所以这不是我的问题。