asp.net中app_code和bin文件夾介紹_第1頁
asp.net中app_code和bin文件夾介紹_第2頁
asp.net中app_code和bin文件夾介紹_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 中 app_code 和 bin 文件夾介紹如果您的 Web 應用程序包括要在多個頁之間共享的代碼,您可以將代碼保存在 Web 應用程序根目錄下的兩個特殊文件夾(Bin 文件夾和 App_Code 文件夾)中的某個文件夾中。Bin 文件夾可以在 Bin 文件夾中存儲編譯的程序集,并且 Web 應用程序任意處的其他代碼(如頁代碼)會自動引用該文件夾。典型的示例是您為自定義類編譯好的代碼。您可以將編譯后的程序集復制到 Web 應用程序的 Bin 文件夾中,這樣所有頁都可以使用這個類。Bin 文件夾中的程序集無需注冊。只要.dll 文件存在于 Bin 文件夾中,ASPNET 就可以識別它。如果您更

2、改了.dll 文件,并將它的新版本寫入到了 Bin 文件夾中,則 ASPNET 會檢測到更新,并對隨后的新頁請求使用新版本的.dll 文件。Bin 文件夾的安全性將編譯后的程序集放入 Bin 文件夾中會帶來安全風險。如果是您自己編寫和編譯的代碼,那么您了解代碼的功能。但是,您必須像對待任何可執行代碼一樣來對待 Bin 文件夾中已編譯的代碼。在完成代碼測試并確信已了解代碼功能之前,要對已編譯的代碼保持謹慎的態度。請注意以下安全方面的知識,這些知識與是否將已編譯的代碼放入 Bin 文件夾有關:Bin 文件夾中程序集的作用范圍為當前應用程序。因此,它們無法訪問當前 Web 應用程序之外的資源或調用當

3、前 Web 應用程序之外的代碼。運行時,程序集的訪問級別由本地計算機上指定的信任級別確定。有關更多信息,請參見 ASPNET 信任級別和策略文件。如果您使用了諸如 VisualStudio 這樣的設計器,那么 Bin 文件夾中的代碼運行所在的上下文與運行時不同。例如,代碼可能以完全信任狀態運行。App_Code 文件夾可以在 App_Code 文件夾中存儲源代碼,在運行時將會自動對這些代碼進行編譯。Web 應用程序中的其他任何代碼都可以訪問產生的程序集。因此,App_Code 文件夾的工作方式與 Bin 文件夾很類似,不同之處是您可以在其中存儲源代碼而非已編譯的代碼。App_Code 文件夾及

4、其在 ASPNETWeb 應用程序中的特殊地位使您可以創建自定義類和其他僅源代碼文件,并在 Web 應用程序中使用它們而不必單獨對它們進行編譯。App_Code 文件夾可以包含以傳統類文件(即帶有.vb、.cs 等擴展名的文件)的形式編寫的源代碼文件。但是,它也可以包含并非明確顯示出由某一特定編程語言編寫的文件。例如.wsdl(Web 服務發現語言)文件和 XML 架本勾(.xsd)文件。ASPNET 可以將這些文件編譯成程序集。根據您的需要,App_Code 文件夾可以包含任意數量的文件和子文件夾。您可以采用任何您認為方便的方式組織源代碼,ASPNET 仍會將所有代碼編譯成單個程序集,并且

5、Web應用程序任意處的其他代碼都可以訪問該程序集。推斷 App_Code 文件夾的編程語言App_Code 文件夾并未顯式標記為包含以任何一種編程語言編寫的文件。相反,ASPNET 是根據 App_Code 文件夾所包含的文件來推斷應為 App_Code 文件夾調用哪一種編譯器。如果 App_Code 文件夾包含.vb 文件,則 ASPNET 使用 VisualBasic 編譯器;如果包含.cs 文件,則 ASPNET 使用 C#編譯器,以此類推。如果 App_Code 文件夾只包含并未明確表明編程語言的文件 (如.wsdl 文件) , 則 ASPNET 將使用 Web應用程序的默認編譯器,默

6、認編譯器在 Web 應用程序或計算機配置文件的compilation 元素中確定。在 App_Code 文件夾中使用多種編程語言因為 App_Code 文件夾中的源代碼要編譯成單個程序集,所以 App_Code 文件夾中的所有文件必須使用相同的編程語言編寫。例如,App_Code 文件夾不能同時包含采用VisualBasic 和 C#編寫的源代碼。但是,您可以對 Web 應用程序進行配置,使其將 App_Code 文件夾的子文件夾作為獨立的可編譯單元處理。這樣,每一個文件夾就可以包含以不同編程語言編寫的源代碼。通過在Web.config 文件的 codeSubDirectories 元素中創建

7、一個 compilation 元素,然后添加一個對子文件夾的引用,即可指定該配置。下面的示例闡釋如何對名為 VBCode 和 CSCode 的子文件夾進行配置,使其編譯成不同的程序集:復制到剪貼板compilationdebug=false請注意,對 VBCode 和 CSCode 子文件夾的引用并未包括任何有關子文件夾中所包含的編程語言的信息。就像對待 App_Code 文件夾本身一樣,ASPNET 會根據子文件夾中的文件來推斷要使用的編譯器。App_Code 文件夾的安全性App_Code 文件夾中的代碼存在的安全問題基本上與 Bin 文件夾中的代碼存在的安全問題相同-代碼都會在運行時編譯成程序集。比 Bin 文件夾要好一些的是,您可以閱讀 App_Code 文件

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論