[ASP.NET]Web网站与Web应用程序区别
[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应用程序区别的更多相关文章
- Web网站与Web应用程序区别
创建时的目录结构不同. WEB应用程序一般处理程序有命名空间,而网站中的没有.(因为应用程序最后要编译成一个DLL文件,会产生命名冲突,而网站每个页面会编译成每一个的DLL,不会文件内产生全名冲突). ...
- VS2010新建Web网站与新建Web应用程序的区别
在Visual Studio 2010中,除了可以使用“创建Web应用程序”的方式来构建自己的Web项目之外,还可以通过创建“Web网站”的方式来构建Web项其中,Web网站的创建方法:打开Visua ...
- VS2010新建Web网站与新建Web应用程序的区别 (转)
在Visual Studio 2010中,除了可以使用“创建Web应用程序”的方式来构建自己的Web项目之外,还可以通过创建“Web网站”的方式来构建Web项其中,Web网站的创建方法:打开Visua ...
- VS 2010 WebSite网站 使用CodeBehide 方式开发[Web应用程序项目转Web网站]
由于生成Web应用程序的文件非常大,100M左右,上传到香港太慢,对于运维工作很不现实, 所以只能改用单个源代码文件上传方式,也就是Web网站方式,但VS2010中只提供Web网站转Web应用程序功能 ...
- 比较Windows Azure 网站(Web Sites), 云服务(Cloud Services)and 虚机(Virtual Machines)
Windows Azure提供了几个部署web应用程序的方法,比如Windows Azure网站.云服务和虚拟机.你可能无法确定哪一个最适合您的需要,或者你可能清楚的概念,比如IaaS vs PaaS ...
- 关于linux asp.net MVC网站中 httpHandlers配置无效的处理方法
近期有Jexus用户反映,在Linux ASP.NET MVC网站的Web.config中添加 httpHandlers 配置用于处理自定义类型,但是在运行中并没有产生预期的效果,服务器返回了404( ...
- 菜鸟疑问之新建网站与新建web应用程序区别
学习asp.net一定少不了这困惑:新建网站与新建web应用程序有什么区别? 新建web应用程序 新建网站 呵呵,其实从名字看一个是webApplication,一个是webSite.名字不同罢了? ...
- 网站和Web应用程序的区别
新建项目里面的(ASP.NET Web 应用程序)主要是做B/S系统的,与winform的开发方式类似.新建网站(ASP.NET 网站)是主要开发网站的.其实你只要跟着教程做就行了.具体区别如下(借鉴 ...
- WEB服务器4--IIS中网站、Web应用程序和虚拟目录
网站.Web应用程序和虚拟目录 在IIS中可以创建网站.Web 应用程序和虚拟目录,以便与计算机网络上的用户共享信息. “网站”.“Web 应用程序”和“虚拟目录”这三个概念的关系如图 8‑1所示. ...
随机推荐
- 用idea打包maven项目
利用idea工具打包项目 1.点击图中标记①,idea会自动生成打包命令,这个打包命令会包含单元测试内容,如果单元测试的内容报错,是打包不成功的,这个时候我们需要在打包命令中用 -Dmaven.tes ...
- js判断苹果安卓操作系统,js更换css
//判断是哪个操作系统 if(plus.os.name=="Android"){ var lsyshowline=document.getElementById("lsy ...
- 375. 猜数字大小 II
题目: 链接:https://leetcode-cn.com/problems/guess-number-higher-or-lower-ii/ 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 ...
- Xamarin.Android 开发,生成时提示“Resource.Drawable”未包含“BG”的定义
Xamarin Android提示Resource.Drawable”未包含“BG”的定义错误信息:error CS0117: '“Resource.Drawable”未包含“BG”的定义Xamari ...
- java 类型判断
//java 类型匹配测试 Circle circle = new Circle(); // circle rectangle 实现了 shape System.out.println(circle ...
- nginx 启动报错找不到nginx.pid文件
这个问题的出现应该是系统找不到nginx的配置文件nginx.conf,所以,我们要告诉系统配置文件的位置:' --- 使用nginx -c /usr/local/nginx/conf/nginx.c ...
- js获取URL里的参数
第一种 通过正则获取URL中指定的参数 /** * 获取指定的URL参数值 * URL:http://www.xxx.com/index?name=123 * 参数:param URL参数 * 调用方 ...
- docker在windows下和linux下网络底层的一些区别
windows和linux下的docker运行时的网络结构是有区别的 a.windows下,默认使用Hyper-v创建一个linux虚拟机,承载docker.所以从外向内的路径为: windows - ...
- centos7 防火墙的操作
参考文章:http://blog.csdn.net/Joe68227597/article/details/75207859 http://www.cnblogs.com/cocoat/p/66054 ...
- 计蒜客 - A1603.天上的星星
二维差分,理论上很简单,虽然我实际上做的时候一堆问题 1.边界的星星包含在内,需要在减去的时候往前挪一个 2.我是从0开始的,循环的时候非常不方便 3.x1, x2, y1, y2总是弄混 #incl ...