1. Bin資料夾
Bin資料夾包含應用程式所需的,用於控制項、元件或者需要引用的任何其他代碼的可部署程
序集。該目錄中存在的任何.dll文 件將自動地連結到應用程式。


2. App_Browser資料夾

該可選的資料夾包含.browser檔。.browser檔描述瀏覽器(不管是行動裝置瀏覽器,還
是桌上型電腦瀏覽器)的特 征和功能。


3. App_Code資料夾

App_Code資料夾正好在Web應用程式根目錄下,其存儲所有應當作為應用程式的一部分動態
編譯的類檔。這些類檔自 動連結到應用程式,而不需要在頁面中添加任何顯式指令或
聲明來創建依賴性。App_Code資料夾中放置的類檔可以包含任何可識別的ASP.NET元件
——自訂控制項、輔助類、build提供程式、業務類、自訂提供程式、HTTP處理常式等。

注意 在開發時,對App_Code資料夾的更改會導致整個應用程式重新編譯。對於大型
專案,這可能不受歡迎,而且很耗時。為此,鼓勵大家將代碼進行模組化處理 到不同的類
庫中,按邏輯上相關的類集合進行組織。應用程式專用的輔助類大多應當放置在App_Code文
件夾中。

App_Code資料夾中存放的所有類檔應當使用相同的語言。如果類檔使用兩種或多種語言
編寫,則必須創建特定語言的子目錄,以包含用每種語言編寫的類。一旦根據語言組織這些
類檔,就要在web.config檔中為每個子目錄添加一個設置:

<compilation>

<codeSubDirectories>

<add directoryName="VBFolder" />

</codeSubDirectories>

</compilation>

重要的是,特定語言的子目錄應在web.config檔中註冊,否則,不管它們屬於哪個資料夾
,App_Code資料夾下 的所有檔將被編譯成一個單獨的程式集。上述配置腳本描述了這麼
一種情況,即所有的C#檔都放在App_Code資料夾的根目錄下,而把幾個 Visual Basic
.NET類檔移入VBFolder目錄中。如果<codeSubDirectories>節中提到的目錄不存在,則
會收到一個編譯錯誤提 示。

App_Code根資料夾中的檔被編譯成App_Code_xxx.dll程式集,其中xxx是隨機生成的字元
序列。一個 給定子目錄中的檔將被編譯成一個名為App_SubCode_xxx_yyy.dll的動態創
建的程式集,其中xxx指示子目錄的名稱,而yyy是一個 隨機字元序列。只有在應用程式根
目錄中的web.config檔中進行了設置,<codeSubDirectories>節才有效。

在App_Code目錄或任何其他子目錄中放置一個assemblyinfo.cs檔,可以創建一個強命名
的程式集。顯然,如果該資料夾包含Visual Basic .NET檔,那麼將使用
assemblyinfo.vb檔。程式集設定檔可以引用一個.snk檔來保存強式名稱的金鑰。

注意 給一個程式集設置一個強式名稱,首先必須獲得一個公開/私有金鑰組。通過
使用強式名稱(Strong Name)工具(sn.exe),可以獲得這樣一個金鑰組。強式名稱工具是我們可
以在.NET Framework的安裝路徑中發現的SDK binary之一。金鑰組檔通常有一個.snk擴
展名。可以將該檔保存到一個應用程式資料夾中,並在assemblyinfo.cs檔中引用它,
如下所示:

[assembly: AssemblyKeyFileAttribute(@"yourKeyPair.snk")]

注意,Visual Basic .NET是在包含Visual Studio Solution的目錄中尋找金鑰檔,
而C#編譯器則在包含該binary的目錄中尋找金鑰檔。據此可知,用此屬性調整我們使用的
路徑,或者把金鑰檔放在合適的資料夾中。

在隨後發生的任何重新生成中,程式集的名稱將發生變化。同時,老的AppDomain請求一結
束,就刪除老的程式集。

App_Code資料夾並非只能包含類檔。特別是,它可以包含並能自動地處理代表資料架構的
XSD檔。把一個XSD檔 添加到該資料夾中時,編譯器將把它解析成一個有類型的
DataSet類,並將它添加到應用程式作用域中。在ASP.NET 1.x中,這一工作由Visual
Studio .NET嚮導,使用一個命令列實用程式(xsd.exe)完成的。

注意 使用web.config檔註冊一個元件(例如,一個自訂的伺服器控制項或一
個自訂的HTTP處理常式)時,通常要求指定包含該代碼的程式集名稱。如 果該元件定義
在App_Code資料夾中,則應該用什麼名稱來指示程式集?在這種情況下,只是忽略程式集信
息,並規定完整的類名即可。如果沒有規定任何程 序集,則ASP.NET運行庫將試圖從任何
已裝載的程式集中裝入該類,包括為App_Code資料夾動態創建的程式集。



4. App_Data資料夾

App_Data資料夾應該包含應用程式的本地資料存儲。它通常以檔(諸如Microsoft
Access或Microsoft SQL Server Express資料庫、XML檔、文字檔以及應用程式支援
的任何其他檔)形式包含資料存儲。該資料夾內容不由ASP.NET處理。該資料夾是ASP.NET
提供程式存儲自身資料的預設位置。

注意 預設ASP.NET帳戶被授予對資料夾的完全存取權限。如果碰巧要改變
ASP.NET帳戶,一定要確保新帳戶被授予對該資料夾的讀/寫訪問權。


5. App_GlobalResources資料夾



6. App_LocalResources資料夾

7. App_Themes資料夾

App_Themes資料夾為ASP.NET控制項定義主題。主題包含在App_Themes資料夾下的一個資料夾
根據定義,一個主題是一組帶有樣式資訊的檔。主題資料夾中的檔內容被編譯,以生
成一個類,而該類被頁面調用以程式設計的方式設置主題化控制項的樣式。

App_Themes資料夾列出應用程式的本地主題。 應用程式還可以繼承如下資料夾中定義的全
局主題:

%WINDOWS%"Microsoft.NET"Framework"[version]"ASP.NETClientFiles"Themes

從編譯的角度看,全域主題和局部主題沒有區別。如果一個給定名稱的主題,既存在應用程
序的本地主題,又存在伺服器機器的全域主題,則本地主題優先適用。

8. App_WebReferences資料夾

在Visual Studio .NET 2003中,一個需要訪問Web服務的ASP.NET應用程式,將通過「添
加Web引用」對話方塊獲得相應的.wsdl檔。Web服務的WSDL(Web Service Description
Language)文檔,對於從頁面使用Web服務是不夠的。ASP.NET頁面最終是一個託管類,並且
需要與另一個託管類通信。因此,Web服務被一個 代理類所包裝。該代理類是由Visual
Studio使用命令列工具wsdl.exe的服務創建的。該代理類儘量包含與Web服務商的Web方法一
樣多的方法,並且它結合了Web服務的公共介面 定義的任何自訂的資料類型。

這個操作不需要開發人員付出很大的代價。然而,開發人員顯然要依賴于Visual Studio來
生成代理類。如果能夠直接把.wsdl檔放在應用程式的目錄樹的某個地方,並讓ASP.NET處
理其餘的任務,這樣不是更容易、更簡單 嗎?這正好是App_WebReferences資料夾要做的
事情。

它識別那些用來描述所綁定的Web服務的.wsdl檔,並生成運行時代理類,以便ASP.NET頁
面能夠以型別安全的方式 放置對Web服務的調用。App_WebReferences資料夾可以包含子文
件夾。子資料夾的名稱驅動最後所得到的代理類的命名空間,而WSDL檔 定義類名。例如
,samples.wsdl檔和ProsAspNet20子資料夾將創建一個稱為ProAspNet20.Samples的代理
類。該動 態創建的程式集稱為App_WebReferences.xxx.dll,其中xxx是一個隨機的字元序
列。

資料夾名稱
檔案類型
注 釋

Bin
.dll
包含應用程式所需的任何預生成的程式集

App_Browsers
.browser
包含應用程式特有的瀏覽器定義檔,ASP.NET用它來識別各瀏覽器及確定它們的功能

App_Code
.cs、.vb、.xsd、自訂的檔案類型
包含作為應用程式的一部分編譯的類的原始檔案。當頁面被請求時,ASP.NET編譯該資料夾
中的代碼。該資料夾中的代碼在應用程式中自動地被引用

App_Data
.mdb、.mdf、.xml
包含Microsoft Office Access和SQL Express檔以及XML檔或其他資料存儲

App_GlobalResources
.resx
包含在當地語系化應用程式中以程式設計方式使用的資源檔

App_LocalResources
.resx
包含頁面範圍的資源檔

App_Themes
.skin、.CSS、.xsl、附屬檔
包含一組定義ASP.NET頁面和控制面板的檔

App_WebReferences
.wsdl

 

創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()