Web Site项目和ASP.NET Web Application中App_Code文件夹的作用

   我现在要建一个ASP.NET的网站了,不难吧,开始动手。如下图:

[转载]Web <wbr>Site项目和ASP.NET <wbr>Web <wbr>Application中Ap


    这种方法建立WebSite项目,使用过的开发者都知道,如果需要新建一个类,例如DataBase.cs。此类只服务于web页面,不适于放入网站自身类库中,因此希望其独立存在于类库之外,只是用于在web应用程序中被web页面调用。这样一来此类最好不要通过形成dll文件,并将其放入bin文件夹以供web页面调用。但是如果将DataBase.cs的源文件放在web网站根目录下面后,在web页面却无法调用该类。但如果通过“右键项目-〉添加-〉添加ASP.NET文件夹” 这种方式添加一个App_Code文件夹,如下图:

 

[转载]Web <wbr>Site项目和ASP.NET <wbr>Web <wbr>Application中Ap

        把DataBase.cs放到这个文件夹中,就可以直接调用了,为什么呢??
 
      app_code文件夹中可以直接存储源代码,Web Site在运行时将会自动对这些代码进行编译。Web应用程序中的其他任何代码都可以访问其产生的程序集。因此,App_Code文件夹的工作方式与 Bin文件夹很类似,不同之处是你可以在其中存储源代码而非已编译的代码。App_Code文件夹及其在 ASP.NET Web应用程序中的特殊地位使您可以创建自定义类和其他仅源代码文件,并在 Web应用程序中使用它们而不必单独对它们进行编译。
      那好吧,我可以直接使用源代码文件,而不需要调用DLL文件了,貌似很不错,省了不少事儿。
 
      总结一下app_code文件夹和bin文件夹的区别:
      1:APP_Code文件夹存储的是类的源文件;bin文件夹里存储的是类库的.dll文件,是已经编译过的类库。
      2:使用APP_Code文件夹中类的时候,不需要在页面上添加任何显示的指令或声明来创建依赖性;而要使用bin文件夹中的类时,则必须在页面上先引用对应的命名空间才能使用。

      接下来呢,要干点什么,Web Site貌似简单了一些,来个多层架构的ASP.NET WebApplication怎么样,说干就干。也记的先把APP_Code文件夹建好,省的不能调用,如下图:

[转载]Web <wbr>Site项目和ASP.NET <wbr>Web <wbr>Application中Ap


      问题出来了,怎么居然没有APP_code这个文件夹呢,那就新建立一个普通文件夹,起这样一个名字吧,看起来是完全一样的,然后建立DataBase.cs类,应该可以使用吧。添加文件代码,如下图:
 

[转载]Web <wbr>Site项目和ASP.NET <wbr>Web <wbr>Application中Ap

      报错信息:“The type or namespace name 'DataBase' could not be found (areyou missing a using directive or an assembly reference”;

      崩溃了,为什么不行呢,冷静一下,很明显在“APP_CODE文件夹中,WebSite项目运行时会被自动编译的代码”在这个项目里并没有被编译,因而现在的DataBase.cs还仅仅是一个文件,他并不会在项目执行时被编译,也不会被其他程序文件所使用,所以出现这个错误就正常了,那好吧,手动修改吧。
 
      选中你的类文件,在 Properties -〉Build Action中 -〉默认 "Content" 改为 "Compile"就可以了,如下图:
 

[转载]Web <wbr>Site项目和ASP.NET <wbr>Web <wbr>Application中Ap



完美解决,剩下的事情,继续吧。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值