0

私は非常に奇妙な状況に直面しています。アプリケーションを開発し、ASP.NETVisual 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

したがって、インクルードを 1 つずつ削除することで、問題が原因であることがわかりましたが、forms_v2.js このスクリプトを単純に削除することはできません。どの関数がアプリの速度を低下させているかを正確に調べる必要があります。しかし、スクリプト内のテキスト全体を削除しても、何も変わりません。

最後に、状況は次のとおりです。forms_v2.js空のファイルであってもインクルードがある場合、アプリは非常に遅くなりますが、このインクルードが削除されると、すべて正常に動作します。

PSパフォーマンスを向上させるには、JSファイルを少なくする方がよいことを知っています。デプロイする前にマージして縮小するので、それは私の問題ではありません。

4

1 に答える 1

1

含める前に、これらのスクリプトの存在を確認してください

if (!Page.ClientScript.IsClientScriptBlockRegistered("jquery"))
      Page.ClientScript.RegisterClientScriptInclude(typeof(string), "jquery", "YOUR_SCRIPT");
于 2012-09-13T08:37:20.850 に答える