为什么VS2005在创建网站的时候会产生/App_Code,/App_Data 两个文件夹呢?
因为ASP.NET2.0 在创建时,是使用基于文件的方法.ASP.NET1.0/1.1把解决方案中的所有内容都编译到DLL中,而ASP.NET2.0只要使用这些定义好的文件夹,就可以自动编译代码,在整个应用程序中访问应用程序主题,并在需要时使用全局资源.下面来介绍这些定义好的文件夹及它们的工作方式.
/App_Code 文件夹
(用于存储类、.wsdl文件和类型化的数据集。在此文件夹所有项均可自动用于解决方案中的所有页面。)
优点:
1.VS2005自动检测,如果是一个类(.vb或.cs),就编译;
2.自动创建XML Web 服务代理类(从.wsdl文件中);
3.从.xsd文件中自动创建类型化的数据集;
4.其他页面可以通过智能感应来调用。
5.不需要特定语言:即是所有页面均用VB编写,/App_Code中类也可以使用C#创建。
文件自动编译后,可用用于同一个解决方案中的任意aspx页面。
但是这个文件夹包含的所有类文件都放在一个程序集中,所以/App_Code不能有不同语言的类。(不能同时有.vb和.cs)
为了能在/App_Code中使用多种语言,必须对文件夹结构和web.config文件进行一些修改。
<1>给/App_Code 添加两个子文件夹/VB和/CS,所以文件夹的结构如下:
/App_Code
/VB
Class1.vb
/CS
Class2.cs
<2>在web.config中添加节点<compilation/>
<system.web>
<compilation>
<codeSubDirectories> <!-- 代码子目录-->
<add directoryName="VB"/> <!-- 添加目录名称-->
<add directoryName="CS"/>
</codeSubDirectories>
</compilation>
</system.web>
/App_Data 文件夹
(用于保存应用程序使用的数据库,是一个集中存储应用程序所用数据库的地方.)
包括Microsoft SQL Express文件(.mdf),Microsoft Access文件(.mdb),XML文件等
应用程序使用的用户账户(默认ASPNET账户)具有对/App_Data文件夹中任意文件的读写权限.许多ASP.NET系统,从成员和角色管理系统到GUI工具,如ASP.NET MMC插件 和 ASP.NET Web站点管理工具,都构建为使用 /App_Data文件夹.
/App_Themes 文件夹
(用于保存应用程序的主题,样式. 包括.skin文件和CSS文件)
优点:重复利用性强,便与修改管理.可以确保解决方案所有页面的一致性.
/App_GlobalResources 文件夹
(动态编辑 程序集资源文件(.resx),供应用程序中的所有.aspx页面使用
资源文件是一些字符串表,当应用程序需要根据某些事情(如文化上的改变)进行修改时,资源文件可用作这些应用程序的数据字典.
在ASP.NET1.0/1.1使用时,必须使用resgen.exe工具,将资源文件编译为.dll或.exe才可以使用,而在ASP.NET2.0中只需要放在
/App_GlobalResources 文件夹中即可.
/App_LocalResources 文件夹
(如果对/App_GloablResources文件夹构造应用程序范围内的资源不感兴趣,而对只能用于.aspx页面的资源感兴趣.)
/App_WebReferences 文件夹
(可以自动访问应用程序引用的远程Web服务)
/App_Browsers 文件夹
(包含.browser文件.这些文件是XML文件,用于标识向应用程序发出请求的浏览器,并识别这些浏览器具备的功能.C:/Windows/Microsoft.NET/Framework/v2.0xxxxx/CONFIG/Browsers上有可全局访问的.browser文件列表.如果要修改,只需要把.browser文件从Browsers文件夹复制到/App_Browsers文件夹中,修改定义即可.
本文解析了ASP.NET 2.0在创建网站时自动生成的/App_Code和/App_Data等文件夹的作用和使用方法。/App_Code用于存储自动编译的类文件,/App_Data用于集中存储数据库。
2618

被折叠的 条评论
为什么被折叠?



