[ASP.NET]Web网站与Web应用程序区别

 

前言:在项目开发中,我们都会用到web网站与Web应用程序,那么这两者有什么区别呢?下面和大家分享一下。

(一)是否需要重新生成

1.web网站

项目就是一个应用程序。在VS中查看的时候,项目中建立的一般处理程序,有两个文件,网站只有一个。在代码层次上没有什么区别。

项目中的一般处理程序有命名空间,而网站中的没有。WEB网站每一个页面(ashx页面)都是一个独立的程序,【一个页面出错了不会影响到另外一个页面(演示)】。

2.Web应用程序

项目中建立完一个文件(或修改了一个文件),一定要【重新生成】。
目的:将项目生成对应的dll文件放在bin/Debug目录下(并且所有的类放在了该程序集中。),如果项目中的一个文件出错了,是没有办法生成成功的。

(二)名称是否随机

1.web网站

网站中每个页面(aspx,ashx)都生成对应的程序集,名称是随机的,当文件建立保存以后,请求会自动保存一下。如果你对文件中的代码改动了,Assembly.GetExecutingAssembly().Location
会重新编译生成一个新的程序集,如果没有改动,则不会生成新的.(在Web网站中的一个一般处理程序中获取当前一般处理程序文件所生成的dll文件。

2.Web应用程序

一般处理程序中的代码改变了那么重新生成,没有变化则不会重新生成。

所在Web应用程序中修改了代码以后一定要重新生成,不然修改后的代码不会生成到程序集中,程序集中可能还是旧的内容
为什么网站不需要命名空间?命名空间就是为了区分类同名的情况,而网站一个文件就是一个独立的程序,所以不会出现类重名的情况.

(三)SqlHelper放置的位置

在网站中写SqlHelper(定义普通的类)必须放在App_Code文件夹中,而应用程序直接建就行了,不要建立App_Code文件夹,因为该类最终会生成到程序集中。但是在网站就必须放在App_Code文件夹下,原因是,我们请求网站的一个一般处理程序时会自动编译,但是一个不同的类是不同被请求的,所以也就没法编译。但是放在app_code文件夹中会在请求某个一般处理程序时自动被编译。但是项目不需要了,因为最终会生成到一个程序集中。

小网站可以用Web网站,因为文件比较少,请求的时候出现错误,直接修改。不关心其它页面。但是大项目中用到的文件特别多,如果建成WEB网站那么维护起来很痛苦,但是建成WEB项目可以统一生成,这时如果出错了,也很容易知道哪个文件出错了,当所有的文件都编译通过了才能进行访问,这是与WEB网站不同的地方

总结:大网站比较适合用WebApplication项目,小网站比较适合用WebSite项目

[ASP.NET]Web网站与Web应用程序区别的更多相关文章

  1. Web网站与Web应用程序区别

    创建时的目录结构不同. WEB应用程序一般处理程序有命名空间,而网站中的没有.(因为应用程序最后要编译成一个DLL文件,会产生命名冲突,而网站每个页面会编译成每一个的DLL,不会文件内产生全名冲突). ...

  2. VS2010新建Web网站与新建Web应用程序的区别

    在Visual Studio 2010中,除了可以使用“创建Web应用程序”的方式来构建自己的Web项目之外,还可以通过创建“Web网站”的方式来构建Web项其中,Web网站的创建方法:打开Visua ...

  3. VS2010新建Web网站与新建Web应用程序的区别 (转)

    在Visual Studio 2010中,除了可以使用“创建Web应用程序”的方式来构建自己的Web项目之外,还可以通过创建“Web网站”的方式来构建Web项其中,Web网站的创建方法:打开Visua ...

  4. VS 2010 WebSite网站 使用CodeBehide 方式开发[Web应用程序项目转Web网站]

    由于生成Web应用程序的文件非常大,100M左右,上传到香港太慢,对于运维工作很不现实, 所以只能改用单个源代码文件上传方式,也就是Web网站方式,但VS2010中只提供Web网站转Web应用程序功能 ...

  5. 比较Windows Azure 网站(Web Sites), 云服务(Cloud Services)and 虚机(Virtual Machines)

    Windows Azure提供了几个部署web应用程序的方法,比如Windows Azure网站.云服务和虚拟机.你可能无法确定哪一个最适合您的需要,或者你可能清楚的概念,比如IaaS vs PaaS ...

  6. 关于linux asp.net MVC网站中 httpHandlers配置无效的处理方法

    近期有Jexus用户反映,在Linux ASP.NET MVC网站的Web.config中添加 httpHandlers 配置用于处理自定义类型,但是在运行中并没有产生预期的效果,服务器返回了404( ...

  7. 菜鸟疑问之新建网站与新建web应用程序区别

    学习asp.net一定少不了这困惑:新建网站与新建web应用程序有什么区别? 新建web应用程序 新建网站 呵呵,其实从名字看一个是webApplication,一个是webSite.名字不同罢了? ...

  8. 网站和Web应用程序的区别

    新建项目里面的(ASP.NET Web 应用程序)主要是做B/S系统的,与winform的开发方式类似.新建网站(ASP.NET 网站)是主要开发网站的.其实你只要跟着教程做就行了.具体区别如下(借鉴 ...

  9. WEB服务器4--IIS中网站、Web应用程序和虚拟目录

    网站.Web应用程序和虚拟目录 在IIS中可以创建网站.Web 应用程序和虚拟目录,以便与计算机网络上的用户共享信息. “网站”.“Web 应用程序”和“虚拟目录”这三个概念的关系如图 8‑1所示. ...

随机推荐

  1. atcoder Keyence Programming Contest 2020 题解

    比赛地址 A 题意:给一个\(n*m\)的初始为白色的矩阵,一次操作可以将一行或一列染成 黑色,问至少染出\(k\)个黑点的最少操作次数. \(n\),\(m\)<=100,\(k\)<= ...

  2. Java泛型(T)与通配符?

    前言:使用泛型的目的是利用Java编译机制,在编译过程中帮我们检测代码中不规范的有可能导致程序错误的代码.例如,我们都知道list容器可以持有任何类型的数据,所以我们可以把String类型和Integ ...

  3. springboot web - 建立路由

    一. 测试代码 @RestController @RequestMapping("/book") public class BookController { @PostMappin ...

  4. [SCOI2015]情报传递[树剖+主席树]

    [SCOI2015]情报传递 题意大概就是 使得在 \(i\) 时刻加入一个情报员帮您传情报 然后询问 \(x,y,c\) 指 \(x\)到\(y\)多少个人有风险-(大于c)的都有风险-每天风险值+ ...

  5. web做题记录

    2020.1.19 南邮ctf 签到题 题目:key在哪里? 在火狐浏览器中右键选择打开查看源代码,在源代码可以看到如下 因为是第一次做这个题,不知道提交啥,我先提交了“admiaanaaaaaaaa ...

  6. npx是什么

    npx是一个执行npm软件包的二进制文件,通俗的讲,他可以执行npm的一些指令 在npm>5.2.0 的时候npm里面就集成了npx 比如npx webpack 他会执行node_modules ...

  7. thinkphp5.x全版本任意代码执行getshell

    ThinkPHP官方2018年12月9日发布重要的安全更新,修复了一个严重的远程代码执行漏洞.该更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的ge ...

  8. 深信服SCSA

    最近应公司要求报了SCSA课程,老师讲解的可谓是非常的专业以及详细,不止深信服产品及其配置,还有VPN,网络基础的原理介绍等等,产品不用说,工作中会遇到,能学即学.最好的要数网络发包原理,建立连接等底 ...

  9. 剑指offer 15.链表反转

    15.链表反转 题目描述 输入一个链表,反转链表后,输出新链表的表头. PHead,pre, next分别指向当前结点, 前一个结点, 后一个结点,每次迭代先更新当前结点的指针,记录下个结点的指向,转 ...

  10. pytest学习8-运行上次执行失败的用例

    该插件提供了两个命令行选项,用于重新运行上次pytest调用的失败: --lf,--last-failed- 只重新运行上次失败的用例,如果没有失败则全部运行 --ff,--failed-first- ...