我公司的其他開發人員之一寫了一個.NET 2.0網站。他存儲了一切......解決方案,項目,源......「inetpub \ AppName」(IIS共享)中的所有內容。我從來沒有見過這樣做過。事實上,我有點驚訝網站加載在瀏覽器中。這樣做有什麼缺點嗎?將您的解決方案存儲在Visual Studio 2010項目文件夾中,然後將該網站發佈到inetpub(安全性,速度等)?另外,爲什麼這個工作?在inetpub內部存儲解決方案可以嗎?
回答
它的工作原理是因爲該網站將被即時編譯。從性能的角度來看,這是不好的(因爲後期編譯),從安全的角度來看它是不好的(你不必要地暴露你的代碼)。
從MSDN
因爲ASP.NET編譯在第一用戶請求您的Web站點,您可以將您的應用程序的源代碼,簡單地複製到生產Web服務器。但是,ASP.NET還提供了預編譯選項,允許您在部署Web站點之前對其進行編譯,或者在部署之後但在用戶請求之前對其進行編譯。預編譯有幾個優點
很好的答案。正是我需要知道的。 – 2010-08-12 21:09:45
真的沒有理由不應該工作,但它通常被認爲是一個壞主意。他是直接在共享網站上開發嗎?這很可怕。即使他不是,那就是將大量文件放在共享網站上,而這些文件不應該在那裏。服務器可能被配置爲不返回它們,但人們不應該依賴於此。
即使在他的本地機器上,這也是不好的做法。如果沒有其他原因,它不能正確地模仿發佈的網站,並造成一個不好的地方去測試東西。
我會說這是不好的做法。您的整個代碼都受到Web服務器的支配。如果服務器被黑客攻擊,代碼是免費贈品。
我同意這是不好的做法,但是沒有錯誤的理解,即編譯的DLL隱藏了源代碼。反編譯器可以很容易地從.Net DLL中提取源代碼。 – itchi 2010-08-12 22:39:30
沒有什麼特別之處Inetpub文件夾,它只是默認的Web服務器按照慣例根。如果它也是解決方案的一部分(只在項目文件的XML中引用),則它不會阻止IIS顯示ASPX頁面。您也可以將IIS指向Visual Studio項目文件夾中的項目目錄。
在C:上存儲userdata通常是不好的做法(特別是對於程序員)。 我們大多數人都有一個數據分區,其中只包含經常備份的用戶數據或在另一臺服務器上使用源存儲庫。
如果你在一個安全的局域網上,只是自己開發,那麼把解決方案放在InetPub中確實沒有問題。但是,如果你使用相同的IIS發佈到世界上,我不會推薦它。你永遠不知道誰可能會得到你寶貴的寶石。
- 1. 該解決方案可以優化嗎?
- 2. 解析內存轉儲(尋找更優雅的解決方案)
- 3. Gearman持久性存儲解決方案
- 4. 信用卡存儲解決方案
- 5. NoSQL解決方案存儲陣列?
- 6. SQL Server存儲過程解決方案
- 7. Phonegap數據庫存儲解決方案
- 8. 類似於CodeTemplates(.tt)文件的工作方式,ProjectTemplate存檔可以存儲在Visual Studio解決方案中嗎?
- 9. 在Prolog中,解決方案可以隨機選擇嗎?
- 10. 我可以在解決方案之間共享實體嗎?
- 11. ddply內存要求,解決方案
- 12. matlab內存最終解決方案
- 13. Android內存泄漏解決方案
- 14. SQL Server內存限制解決方案
- 15. 是否可以告訴NuGet在哪裏存儲解決方案的包?
- 16. 部署CRM解決方案
- 17. 解決方案包 - 部署
- 18. SSRS解決方案部署
- 19. 解決方案文件夾外部解決方案目錄
- 20. 以下方案需要SQL查詢解決方案嗎?
- 21. 存儲過程中可選參數的最佳解決方案
- 22. 可存儲文件的工作流程解決方案
- 23. 我的緩存解決方案解決方案是否安全?
- 24. 緩存解決方案
- 25. VS2008解決方案不用升級就可以使用VS2010嗎?
- 26. MiniZinc可以應用多個「解決方案」嗎?
- 27. 我可以爲黑莓開發RMI解決方案嗎?
- 28. 在線和內部部署的一般解決方案?
- 29. Windows上可以靜默部署的rsync樣式解決方案?
- 30. 代碼中的內存錯誤和可能的解決方案
更新:Vishal喬希有一篇很好的文章,進一步涵蓋了我的問題。請參閱http://vishaljoshi.blogspot.com/2009/08/web-application-project-vs-web-site.html上的Q1 – 2010-08-18 13:16:22