Bin文件夾
Bin文件夾包含應用程序所需的
用於控件
組件或者需要引用的任何其他代碼的可部署程
序集
該目錄中存在的任何
dll文 件將自動地鏈接到應用程序
App_Browser文件夾
該可選的文件夾包含
browser文件
browser文件描述浏覽器(不管是移動設備浏覽器
還
是台式機浏覽器)的特 征和功能
App_Code文件夾
App_Code文件夾正好在Web應用程序根目錄下
其存儲所有應當作為應用程序的一部分動態
編譯的類文件
這些類文件自 動鏈接到應用程序
而不需要在頁面中添加任何顯式指令或
聲明來創建依賴性
App_Code文件夾中放置的類文件可以包含任何可識別的ASP
NET組件
——自定義控件
輔助類
build提供程序
業務類
自定義提供程序
HTTP處理程序等
注意 在開發時
對App_Code文件夾的更改會導致整個應用程序重新編譯
對於大型
項目
這可能不受歡迎
而且很耗時
為此
鼓勵大家將代碼進行模塊化處理 到不同的類
庫中
按邏輯上相關的類集合進行組織
應用程序專用的輔助類大多應當放置在App_Code文
件夾中
App_Code文件夾中存放的所有類文件應當使用相同的語言
如果類文件使用兩種或多種語言
編寫
則必須創建特定語言的子目錄
以包含用每種語言編寫的類
一旦根據語言組織這些
類文件
就要在nfig文件中為每個子目錄添加一個設置
<compilation>
<codeSubDirectories>
<add directoryName=
VBFolder
/>
</codeSubDirectories>
</compilation>
重要的是
特定語言的子目錄應在nfig文件中注冊
否則
不管它們屬於哪個文件夾
App_Code文件夾下 的所有文件將被編譯成一個單獨的程序集
上述配置腳本描述了這麼
一種情況
即所有的C#文件都放在App_Code文件夾的根目錄下
而把幾個 Visual Basic
NET類文件移入VBFolder目錄中
如果<codeSubDirectories>節中提到的目錄不存在
則
會收到一個編譯錯誤提 示
App_Code根文件夾中的文件被編譯成App_Code_xxx
dll程序集
其中xxx是隨機生成的字符
序列
一個 給定子目錄中的文件將被編譯成一個名為App_SubCode_xxx_yyy
dll的動態創
建的程序集
其中xxx指示子目錄的名稱
而yyy是一個 隨機字符序列
只有在應用程序根
目錄中的nfig文件中進行了設置
<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
x中
這一工作由Visual
Studio
NET向導
使用一個命令行實用程序(xsd
exe)完成的
注意 使用nfig文件注冊一個組件(例如
一個自定義的服務器控件或一
個自定義的HTTP處理程序)時
通常要求指定包含該代碼的程序集名稱
如 果該組件定義
在App_Code文件夾中
則應該用什麼名稱來指示程序集?在這種情況下
只是忽略程序集信
息
並規定完整的類名即可
如果沒有規定任何程 序集
則ASP
NET運行庫將試圖從任何
已裝載的程序集中裝入該類
包括為App_Code文件夾動態創建的程序集
App_Data文件夾
App_Data文件夾應該包含應用程序的本地數據存儲
它通常以文件(諸如Microsoft
Access或Microsoft SQL Server Express數據庫
XML文件
文本文件以及應用程序支持
的任何其他文件)形式包含數據存儲
該文件夾內容不由ASP
NET處理
該文件夾是ASP
NET
提供程序存儲自身數據的默認位置
注意 默認ASP
NET帳戶被授予對文件夾的完全訪問權限
如果碰巧要改變
ASP
NET帳戶
一定要確保新帳戶被授予對該文件夾的讀/寫訪問權
App_GlobalResources文件夾
App_LocalResources文件夾
App_Themes文件夾
App_Themes文件夾為ASP
NET控件定義主題
主題包含在App_Themes文件夾下的一個文件夾
根據定義
一個主題是一組帶有樣式信息的文件
主題文件夾中的文件內容被編譯
以生
成一個類
而該類被頁面調用以編程的方式設置主題化控件的樣式
App_Themes文件夾列出應用程序的本地主題
應用程序還可以繼承如下文件夾中定義的全
局主題
%WINDOWS%\Microsoft
NET\Framework\[version]\ASP
NETClientFiles\Themes
從編譯的角度看
全局主題和局部主題沒有區別
如果一個給定名稱的主題
既存在應用程
序的本地主題
又存在服務器機器的全局主題
則本地主題優先適用
App_WebReferences文件夾
在Visual Studio
NET
中
一個需要訪問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文件和ProsAspNet
子文件夾將創建一個稱為ProAspNet
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
From:http://tw.wingwit.com/Article/program/net/201311/13016.html