2012-07-01 508 views
1

我想創建可以被其他類繼承的類,以便沿着我的項目使用。 即我想爲每個Mail方法創建一個單獨的類,每個類將實現不同的Compose方法,並且將來會創建更多的Mail類。應該在哪裏存儲繼承類?

我的問題是 - 我應該在哪裏創建這些類/接口?在App_Code中?

+0

什麼樣的ASP.NET項目是這樣的:WebForms for MVC? (你暗示前者,但更好清楚。) – Richard

+0

前者 - webforms。我想app_code是簡單的方法,但可能會導致延遲運行時間。所以我會去上課。 – Yaniv

回答

3

我建議建立一個單獨的程序,幷包括裝配在您的Web項目的引用。這將使您能夠針對您的類/接口編寫獨立的測試用例。

+0

你的意思是 - 類庫? – Yaniv

+0

@Yaniv:正確。隨着代碼量的增加,這是一種方式,但它確實增加了部署步驟(在將'.dll'複製到目標的bin文件夾之前構建類庫「)。 – Richard

1

除了用戶控件,您可以將源文件存儲在App_Code中。在你的情況下,你可以在App_Code中存儲接口/類。您可以在AppCode中爲多個類/接口組設置多個文件夾。

AppCode

您可以將源代碼在App_Code文件夾,這將是 在運行時自動編譯。生成的程序集是 可供Web應用程序中的任何其他代碼訪問。因此,App_Code 文件夾與Bin文件夾非常相似,不同之處在於您可以使用 而不是編譯代碼來存儲源代碼。 App_Code文件夾 及其在ASP.NET Web應用程序中的特殊狀態使得 可以創建自定義類和其他僅源代碼文件,並在您的Web應用程序中使用它們而不必獨立編譯它們。

編輯:您可能會看到這個討論:How to organize ASP.NET app_code folder?

+0

在運行時編譯==在應用程序的第一次運行中編譯過,或者在iisreset之後第一次運行? – Yaniv

+0

要編譯的第一個項目被稱爲頂級項目。在第一個請求之後,只有在依賴關係發生變化時纔會重新編譯頂級項目。頂級項目包括App_Code,http://msdn.microsoft.com/en-us/library/ms366723.aspx – Habib

相關問題