Ⅰ 下载的asp.net源码怎么用
asp.net环境配置ASP.NET
一、安装IIS与配置IIS
在Windows 2000、Windows XP、Windows 2003或Windows Vista等操作系统中,IIS文件及安装方式都有所不同。
1、Windows 2003下安装IIS:
依次点击“开始”->“设置”->“控制面板”->“添加删除程序”,在出现的“添加删除程序”界面中,单击
“添加/删除 Windows组件”,在出现的“Windows组件向导”窗口中,选中“应用程序服务器”后单击“下一 步”
按钮,系统开始安装IIS组件。
2、Windows 2003的IIS配置:
安装好IIS后,在“控制面板”双击“Internet信息服务(IIS)管理器”,在“Internet信息服务”窗口中,点选
“默认网站”后右键选择“属性”,在出现的“默认网站属性”窗口中,右键依次选择“属性”->选择网站主目录。
这里只要选择本地路径就可以了。
另外在Web服务扩展中允许 ASP.NET v2.0.50727
3、Windows 2000、Windows XP下安装IIS:在Windows 2000、Windows XP操作系统中,IIS安装方法和配置与Windows 2003相似。这里就不详细写了。
4、Vista下安装IIS:
依次点击“开始”->“控制面板”->“程序”,在出现的“程序和功能”界面中单击“打开或关闭Windows功能”展开“Internet信息服务”:
在“Web管理工具”中,选中“IIS管理服务”、“IIS管理脚本和工具”、“IIS管理控制台”选项;在“万维网服务”中,选中“应用程序
开发功能”中的“.NET扩展性”、“ASP”“ASP.NET” 选项。。
选择好后单击“确定”按钮,系统开始安装IIS组件,几分钟后IIS即可安装完成。
5、Windows Vista的IIS配置:
依次点击“开始”->“所有程序”->“管理工具”->“Internet信息服务(IIS)管理器”,在出现的“Internet信息服务(IIS)管理器”界面中,
依次点击“网站”-> “设置网站默认设置”。
在出现的“网站默认设置”窗口中,单击“应用程序池”,在“应用程序池”的下拉菜单中,将“应用程序池”改为“Classic.NET AppPool”。
双击“默认文档”,修改首页的默认文档及排序,单击“应用”按钮保存设置。
二、安装与配置.NET Framework 2.0
您可以通过微软的官方网站下载.NET Framework 2.0 (下载地址http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=en)安装程序。.NET Framework 2.0的安装过程非常简单,在解压.NET Framework 2.0安装包后,双击安装目录下的dotn
betfx2.0.exe安装文件,按照安装提示进行安装即可。
配置网站以支持.Net2.0。依次点击“开始”->“程序”->“控制面板”->“管理工具”->“Internet信息服务”,在“Internet信息服务”管理界面中点选“默认网站”后右键
选择“属性”,在出现的“默认网站属性”窗口中单击“ASP.NET”选项卡,并在“ASP.NET version”中选择“2.0.50727”。同时还可以看到其
安装路径等信息。
三、安装与配置SQL Server 2000/2005
只介绍SQL Server 2005的安装。
1、以下是安装过程中的几个重要设置。。建议一般用户在安装过程中按照以下示例进行设置。这里演示的是SQL2005开发版的安装。
2、如果你是用于测试环境,建议进行全部安装。如果是生产环境,请专业人员配置安装。
3、如果程序要用到报表服务器,就要选择reporting services,否则在安装过程中安装程序没有配置服务器,那么就会无法使用报表服务器。
4、sa密码一定要复杂。也要可以在安装完SQL之后把SA帐户删除,以保安全。
四、文件夹权限配置
首先要注意的是:为了你网站的安全请不要在IIS中打开写入权限,并且将你的磁盘文件系统格式转化安全一点的NTFS格式。请参照下面的说明进行权限的配置。
当站点在NTFS分区时,如果站点所在的目录或者数据库目录没有给访问的用户读写权限,那就会引起以下的错误:
1、“Microsoft JET Database Engine (0x80040E09) 不能更新。
2、数据库或对象为只读
3、出现”请确认你具有对文件夹与文件有读写的权限”等提示
解决方法:我们假定站点在H:\website 目录下,下面的图示以WINXP为例,其它系统可以参照进行设置,
具体操作如下:
1、查看站点是否安装在NTFS分区内,如果不是NTFS格式请转化为NTFS文件系统格式。也只有NTFS格式才能进行下面讲到的权限配置操作.
2、请进入文件管理器的文件夹选项
3、将“使用简单文件共享”前的勾选去掉
4、右键点击动易系统安装目录-共享和安全
6、点击高级选项
7、查找用户或组
8、选择aspnet帐户
9、点击确定
10、勾选站点目录对于aspnet 的读写权限
Ⅱ asp.net 读写配置文件Web.Config
给你一个例子,你瞧瞧:
<appSettings>
<add key="ConnectionString" value="server=192.168.19.250;database=hrms_test;uid=pmstest;pwd=pmstest" />
<add key="WebObjectPath" value="http://localhost/LMS/Files/" />
<add key="PhysicsObjectPath" value="E:/Files/"/>
<add key="SystemCode" value="12" />
<add key="OrganizationPath" value ="organization" />
</appSettings>
public static string ConnectionString
{
get { return System.Configuration.ConfigurationManager.AppSettings["ConnectionString"].ToString(); }
}
/// <summary>
/// 组织架构数据库路径
/// </summary>
public static string OrganizationPath
{
get { return System.Configuration.ConfigurationManager.AppSettings["OrganizationPath"].ToString(); }
}
/// <summary>
/// 系统编码
/// </summary>
public static string SystemCode
{
get { return System.Configuration.ConfigurationManager.AppSettings["SystemCode"].ToString(); }
}
/// <summary>
/// 物理上传路径
/// </summary>
public static string PhysicsObjectPath
{
get { return System.Configuration.ConfigurationManager.AppSettings["PhysicsObjectPath"].ToString(); }
}
/// <summary>
/// 虚拟上传路径
/// </summary>
public static string WebObjectPath
{
get { return System.Configuration.ConfigurationManager.AppSettings["WebObjectPath"].ToString(); }
}
Ⅲ aspnet_client 的作用以及存储位置
在虚拟主机的 wwwroot 目录下您会发现有一个名为 aspnet_client 的文件夹,该文件夹中含有集成了 ASP.NET 的“SmartNavigation”功能的 javascript。如果启用 SmartNavigation,网页设计人员就可以在页面以及其他内容之间保持滚动条和元素焦点的位置。
目录 aspnet_client 是虚拟根 Web 应用程序目录,该目录是当您安装 .NET Framework SDK 或 Visual Studio .NET 时在您的计算机上创建的。此文件不占用户空间,请用户在使用网站空间的时候不要删除该文件夹。
例如,随 ASP.NET 附带的脚本文件位于以下位置。
d:\home\ftp用户名/wwwroot/aspnet_client/system_web/<版本编号>/文件
如果安装有 SDK 的多个版本,您将在 aspnet_client/system_web 下看到多个子目录。因为控件库与脚本文件的特定版本相关联,所以部署模式允许控件库的不同版本并行运行。 出现了“aspnet_client”这个文件夹,是干什么的?
这个是文件的路径下还有文件!下面的完整路径:
aspnet_client\system_web\1_1_4322
里面还有三个文件:SmartNav.htm,smartnav.js,webuivalidation.js!
作用是:安装了.net框架之后,就会在网站目录下出现这样的文件夹.用以支持.net环境.1_1_4322表示你的.net framework 的版本为 1.1.4322,里面的3个文件用于为.net验证控件提供脚本支持服务器里面装了.net后,会在服务器上每个网站的目录里面增加这个文件夹的 在生成虚拟站点的时候会自动在根下生成一个名字为aspnet_client的文件夹,你看看是不是这个文件夹没有了?
解决办法重新建一个独立站点,把生成的aspnet_client文件夹复制到这个站点的跟下。
首先确定你安装了iis
然后从命令行进入文件夹C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\
盘符,系统文件夹,版本号可能不一样,看你自己的机子,版本号选择最高的那个文件夹
运行命令aspnet_regiis.exe -i
安装完毕即可使用vs打开
一点资料:
aspnet_regiis命令详解.
用法:
aspnet_regiis.exe[-i[r][-enable]|-u[a]|-r|-s[n]|-k[n]|-lv|-lk|-c|-e[a]|-?]
-i-安装ASP.NET的此版本,并更新IIS元数据库根处的
脚本映射和根以下的所有
脚本映射。现有的低版本脚本映射
升级到此版本。
-ir-安装ASP.NET的此版本,仅注册。不
更新IIS中的脚本映射。
-enable-带-i或-ir指定-enable时,还将
在IIS安全控制台(IIS6.0或更高版本)中启用ASP.NET。
-s-在指定的路径以递归方式安装此版本
的脚本映射。现有的低版本脚本映射
升级到此版本。
例如aspnet_regiis.exe-sW3SVC/1/ROOT/SampleApp1
-sn-在指定的路径以非递归方式安装此版本的
脚本映射。现有的低版本脚本映射
升级到此版本。
-r-为IIS元数据库根位置的此版本
以及根以下的所有脚本映射安装脚本映射。不论当前版本是什么,
所有现有的脚本映射都
更改为此版本。
-u-卸载ASP.NET的此版本。到此版本的
现有脚本映射重新映射到此计算机上安装的
其余的最高ASP.NET版本。
-ua-卸载计算机上的所有ASP.NET版本
-k-从指定的路径中以递归方式移除到任何ASP.NET版本的所有
脚本映射。
例如aspnet_regiis.exe-kW3SVC/1/ROOT/SampleApp1
-kn-从指定的路径中以非递归方式移除到任何ASP.NET版本的所有
脚本映射。
-lv-列出计算机上安装的所有
ASP.NET版本(包括状态和安装路径)。
Status:Valid[(Root)]|Invalid
-lk-列出包含ASP.NET脚本映射的所有IIS元数据库项的所有路径
(连同版本一起)。不显示从父项
继承ASP.NET脚本映射的项。
-c-将客户端脚本的此版本安装到
每个IIS站点目录的aspnet_client子目录中。
-e-从每个IIS站点目录的
aspnet_client子目录中
移除客户端脚本的此版本。
-ea-从每个IIS站点目录的aspnet_client子目录中
移除客户端脚本的所有版本。
-?-打印此帮助文本。
example:
当系统新建一个asp.netweb应用程序的时候,提示错误信息如下:
"VisualStudio.NET已检测到指定的Web服务器运行的不是ASP.NET版本,你将无法运行ASP.NET应用程序或服务。"
可以尝试运行
aspnet_regiis-i
aspnet_regiis-r
两个命令来安装asp.net服务管理器.
如果还是不行的话,再尝试一下下面的操作:
1、先确定是不是1.1
2、把"IP地址"设成全部未分配
3、在IE连接设置中把本地地址不使用代理服务器那里打上勾
Ⅳ 我网站里自己出现了“aspnet_client”这个文件夹,是干什么的
安装了.net框架之后,就会在网站目录下出现这样的文件夹.用以支持专.net环境.1_1_4322表示你的属.net framework 的版本为 1.1.4322,里面的3个文件用于为.net验证控件提供脚本支持
Ⅳ asp.net 中的App_Data文件夹作用
存放数据库文件的,比如ACCESS,SQL 2005 简化版 貌似也可以
在代码中可以方便的调用|DataDirectory|可以直接访问app_data文件夹
以下是其他一些ASP.NET的常用文件夹
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
Ⅵ 以下哪些是asp.net支持的文件夹
1. Bin文件夹
Bin文件夹包含应用程序所需的,用于控件、组件或者需要引用的任何其他代码的可部署程序集。该目录中存在的任何.dll文件将自动地链接到应用程序。如果在该文件夹中留有不用的或过期的文件,则可能出现“二义性引用(ambiguous reference)”异常的风险。换句话说,如果两个不同的程序集定义相同的类(相同的命名空间和名称),则ASP.NET运行库不能决定应该使用哪一个程序集,从而抛出一个异常。在开发时,当我们重新命名一个项目或一个程序集的名称时,这是常见的错误。为了避免这种错误,一定不要在该文件夹中保留任何不必要的程序集,或者至少要从配置文件的<assemblies>节中删除如下代码行:
<add assembly="*" />
2. App_Browser文件夹
该可选的文件夹包含.browser文件。.browser文件描述浏览器(不管是移动设备浏览器,还是台式机浏览器)的特 征和功能。ASP.NET在安装路径下的Config/Browser文件夹中安装了大量.browser文件,这些文件供所有应用程序共享。我们只是把 当前应用程序特有的浏览器文件放在App_Browser文件夹下。.browser文件的内容即时动态地进行编译,以便向ASP.NET运行库提供最新 的浏览器信息。
让我们简单谈谈拥有一个自定义的.browser文件可能有帮助的场景。设想应用程序使用了一个在某个浏览器下不能有效呈现的控件。在指定的浏览器中显示宿主页面时,可以编写一个.browser文件,迫使ASP.NET使用一个不同的适配器来生成该控件。
<browsers>
<browser id="browserID">
<controlAdapters>
<adapter controlType="Samples.CustomControl"
adapterType="Samples.Adapters.CustomControlAdapter" />
</controlAdapters>
</browser>
</browsers>
假设browserID与ASP.NET识别的标准浏览器之一相匹配,则上文所示的.browser文件指示在指定的浏览器下使用CustomControlAdapter呈现CustomControl。
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文件夹
正如其他应用程序一样,ASP.NET应用程序也可以使用资源,而且通常应该使用资源。资源是隔离应用程序用户界面的可局部 化部分的一种有效方法。一般而言,资源是与程序相关的不可执行的文本。典型的资源有图像、图标、文本和附属文件,但是任何可序列化的对象也可以被看作资 源。应用程序资源存储在应用程序的外部,这样就能在不影响和重新编译应用程序本身的情况下重新编译和替换它们。
ASP.NET应用程序需要有一个主要程序集来保存应用程序默认的或中性的资源。此外,还要部署许多附属程序集,它们中各自 包含我们需要支持的某种文化的本地化资源。在ASP.NET 1.x中,编译一个程序集内的资源有点麻烦。需要手动地将基于XML的资源文件(那些带.res扩展名的资源)编译成.resources二进制文件。这 些文件既可以嵌入到一个.NET可执行文件中,也可以编译成附属程序集。使用资源文件生成器实用程序resgen.exe,将文本和基于XML的资源文件 转变为.resource文件。资源文件名称遵循baseName.cultureName.resource命名约定,其中baseName通常是应用 程序的名称:
resgen.exe ProAspNet20.resx ProAspNet20.it.resources
创建.resource文件以后,应当把它嵌入到一个程序集中,甚至可以作为一个资源容器来使用。要把一个资源文件嵌入到一个附属程序集中,可以使用程序集连接器工具(al.exe)。在命令行上,指出程序集所使用的文化(如下面示例中的it,它代表意大利)和名称。
al /out:ProAspNet20.resources.dll /c:it /embed:ProAspNet20.it.resources
在编译附属程序集之后,它们将有相同的名称。将它们部署到不同的子目录中,分别按文化命名。
幸运的是,对于ASP.NET 2.0,附属程序集的时代已经一去不复返了。更准确地说,附属程序集仍然存在,但是由于App_GlobalResources保留文件夹,对开发人员来说它们已经成为过去的事情。
该文件夹中的任何定位的.resx文件自动地被编译成附属程序 集。.resx文件的名称包含文化信息,以帮助ASP.NET运行库环境的程序集生成。如下文件,resources.resx, resources.it.resx, resources.fr.resx,生成中性程序集以及适合于意大利(Italian)和法国(French)文化的附属程序集。如果没有要求特定文 化,则中性程序集是默认的文化资源。