2010-08-12 34 views
0

我公司的其他開發人員之一寫了一個.NET 2.0網站。他存儲了一切......解決方案,項目,源......「inetpub \ AppName」(IIS共享)中的所有內容。我從來沒有見過這樣做過。事實上,我有點驚訝網站加載在瀏覽器中。這樣做有什麼缺點嗎?將您的解決方案存儲在Visual Studio 2010項目文件夾中,然後將該網站發佈到inetpub(安全性,速度等)?另外,爲什麼這個工作?在inetpub內部存儲解決方案可以嗎?

+0

更新:Vishal喬希有一篇很好的文章,進一步涵蓋了我的問題。請參閱http://vishaljoshi.blogspot.com/2009/08/web-application-project-vs-web-site.html上的Q1 – 2010-08-18 13:16:22

回答

2

它的工作原理是因爲該網站將被即時編譯。從性能的角度來看,這是不好的(因爲後期編譯),從安全的角度來看它是不好的(你不必要地暴露你的代碼)。

MSDN

因爲ASP.NET編譯在第一用戶請求您的Web站點,您可以將您的應用程序的源代碼,簡單地複製到生產Web服務器。但是,ASP.NET還提供了預編譯選項,允許您在部署Web站點之前對其進行編譯,或者在部署之後但在用戶請求之前對其進行編譯。預編譯有幾個優點

+0

很好的答案。正是我需要知道的。 – 2010-08-12 21:09:45

1

真的沒有理由不應該工作,但它通常被認爲是一個壞主意。他是直接在共享網站上開發嗎?這很可怕。即使他不是,那就是將大量文件放在共享網站上,而這些文件不應該在那裏。服務器可能被配置爲不返回它們,但人們不應該依賴於此。

即使在他的本地機器上,這也是不好的做法。如果沒有其他原因,它不能正確地模仿發佈的網站,並造成一個不好的地方去測試東西。

0

我會說這是不好的做法。您的整個代碼都受到Web服務器的支配。如果服務器被黑客攻擊,代碼是免費贈品。

+0

我同意這是不好的做法,但是沒有錯誤的理解,即編譯的DLL隱藏了源代碼。反編譯器可以很容易地從.Net DLL中提取源代碼。 – itchi 2010-08-12 22:39:30

1

沒有什麼特別之處Inetpub文件夾,它只是默認的Web服務器按照慣例根。如果它也是解決方案的一部分(只在項目文件的XML中引用),則它不會阻止IIS顯示ASPX頁面。您也可以將IIS指向Visual Studio項目文件夾中的項目目錄。

1

在C:上存儲userdata通常是不好的做法(特別是對於程序員)。 我們大多數人都有一個數據分區,其中只包含經常備份的用戶數據或在另一臺服務器上使用源存儲庫。

如果你在一個安全的局域網上,只是自己開發,那麼把解決方案放在InetPub中確實沒有問題。但是,如果你使用相同的IIS發佈到世界上,我不會推薦它。你永遠不知道誰可能會得到你寶貴的寶石。