簡體   English   中英

加快ASP.NET開發

[英]Speeding up ASP.NET development

我們正在開發 web 應用程序,使用 DotNetNuke 作為框架和我們為所需功能提供的自定義模塊。 問題是,當您對代碼進行任何更改時,加載網站需要很長時間。 我每次重新啟動最多需要 1 分鍾,這真的很慢。 這導致非常緩慢的開發-重建-測試周期。

我們正在使用控制台項目和 winforms 項目作為新功能的測試平台,以加快開發速度,但仍有許多 UI 功能必須通過瀏覽器完成。

有沒有人有關於如何加速/防止在 web 應用程序的 bin 文件夾中發生更改時發生的 appdomain 重啟的任何提示?

當與大型 web 應用程序一起使用時,您會遇到 ASP.NET 的缺點。

DotNetNuke 有許多重要的 DLL 和 VB 文件,如果您所做的只是更改一個 DLL,它們都必須重新處理。 如果您的 bin 中有 50 個模塊 DLL,則所有 50 個模塊 DLL 將在您的下一個應用程序請求時由 ASP.Net 重新處理。

這是我的建議:

將以下文件夾連接到源代碼管理(不是整個 DNN 文件夾):

  • bin(我建議忽略所有 DNN DLL,因此升級 go 更平滑)
  • Portals_default\Skins
  • Portals_default\Containers
  • js
  • DesktopModules(忽略管理員或任何內置模塊)
  • 圖像(如果您願意,可以忽略核心 DNN 圖像,或者您自己的任何笨重圖像文件夾,例如數千張客戶照片)
  • (可選)CompanyName\(您可能希望在其中保留其他需要對 bin 文件夾中的 DLL 進行相對訪問的 .NET 項目)

當您的一位開發人員需要重復編譯/頁面加載時,他將通過消除 bin 文件夾中盡可能多的 DLL 獲得最大收益。 如果可以的話,它也將有助於使用准系統皮膚進行測試(它們很容易制作)。

准系統皮膚(最多應使用 1 或 2 個皮膚對象)和絕對最少的 DLL(DNN 核心 + 您自己的最低限度)將為您提供最佳的開發速度。

當您的開發人員完成一個模塊的重點開發后,他可以更新他從源代碼管理中刪除項目的那些文件夾(此處為 svn),在完整的 DLL/Skin 集的上下文中完成對他的代碼的測試,他將被設置。

有時這是值得的麻煩。 我不能讓你縮短 ASP.NET 再處理的幾秒鍾,但我可以讓你縮短到 10-15 秒。 (假設您在 SSD 上運行)

就生產重啟而言,請確保您的應用程序池在非工作時間回收。

我研究了多核設置是否可以以某種方式減少重新處理時間,但沒有任何運氣(我有一個關於服務器故障的懸而未決的問題)

當您添加/更改頁面時,DNN 會按需編譯,如果您預編譯它們,您的周轉時間應該會快得多。

也許這會對你有所幫助?

加快 ASP.NET 中的構建時間

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM