Asp.net基础知识扫盲篇
asp.net基础知识篇-中文扫盲篇
1、.net是什么?
.net全称.net framework是一个开发和运行环境,
该战略是微软的一项全新创意,
它将使得“互联网行业进入一个更先进的阶段,
.net不是一种编程语言. 简单说就是一组类库框架,
.net开发支持c#、vb.net、j#、jsript和managed c++等。
c#是.net framework框架支持的一种主力开发语言,
可用于开发asp.net网站, windows 程序,控制台程序,甚至于手机软件
2、asp.net、.net和c#的关系是怎样的?
.net 分成两个方面:
(1)winform
(2)webform
asp.net就是属于webform,也就是平时说的b/s模式的开发。
而winform就是属于c/s模式。
.net有很多种语言组成,比如c#、 vb.net、j#、jsript、managed c++
但是都是运行在.net framework run time底下的。
asp.net 可以用c#或vb.net来开发。
编译后形成clr,通过服务器的iis+.net framework再次编译来运行。
c#是开发语言.
总之,asp.net是.net framework环境下的动态网页编程技术,
.net framework是.net的基础框架,
visual studio.net是用于开发软件的一个集成环境(ide)。
当然后续出来了windows phone/wpf等。
3、.net开发是用什么语言?
.net声称支持市面上20多种语言,
但目前只有微软官方发布的c#,vb.net,j#, jsript和managed c++
tips:c#是主流哦。
4、为什么大部分用c#语言开发.net?
c#是microsoft公司设计的一种编程语言,
c#(读做‘csharp')。它基于c/c++,是面向对象的。
没有指针,有垃圾回收机制,会自动释放内存空间。
学习c#并不必须有c语言的基础,不过,如果你学过c语言,
那会事半功倍的,因为他们之间有很多语法是一样的。
c#支持的基本类型和c++很相似,包括int, long,
float, double, char, string, arrays, structs和 classes等。
5、asp.net环境的安装
(1)、其实现在一般的电脑都可以安装,至于操作系统目前
.net支持的平台有windows,至于linux和unix的支持正在开发中.
(2)、运行环境下载,因为是向下兼容,所以可以下载最新的framework框架
.net framework 3.5下载地址:
https://www.microsoft.com/zh-cn/download/details.aspx?id=21
.net framework 4.0下载地址:
https://www.microsoft.com/zh-cn/download/details.aspx?id=17718
.net framework 4.5下载地址:
https://www.microsoft.com/zh-cn/download/details.aspx?id=30653
.net framework 4.6.2下载地址:
https://www.microsoft.com/zh-cn/download/details.aspx?id=53345
(3)、安装过程
首选安装mdac,再安装sdk,sdk的安装时间比较长要耐心等待。
(4)、试运行
安装完成后,试着运行一个简单的asp.net编写的小程序,以便确定安装是否成功。
6、bin文件夹下的dll可以做什么?
(1)它是自动生成的,不用自己添加。
(2)作用:bin文件夹中包含项目中所用到的所有引用的类库,支持服务器等内容dll的全称是dynamic link library, 中文叫做“动态链接文件”。
7、.net主要的优点有哪些?
.net的主要优点有跨语言,跨平台,安全,以及对开放互联网标准和协议的支持.
.net支持多种语言的互操作,即在一种语言下开发的组件,
可在另一组件下通过面向对象的继承而得以重用.
.net通过将各语言先编译成中间语言(il),
然后再执行时用即时(just in time)编译器将之编译成本地平台代码来实现异构平台下对象的互操作,
.net通过公共语言运行库clr(common language runtime)来实现资源对象,类型的安全.
.net通过对http,xml等internet标准的支持提供在异构网络环境下获取远程服务,
连接远程设备,交互远程应用的编程界面
8、asp.net和asp的区别?
asp.net和asp的最大区别在于编程思维的转换以及功能的增强。
asp使用vb/js这样的弱类型、面向结构的脚本语言混合html来编程,
而非面向对象,这就明显产生以下几个问题:
1、代码逻辑混乱,难于管理。
2、代码的可重用性差:由于是面向结构的编程方式,并且混合html,
所以可能页面原型修改一点,整个程序都需要修改,代码重用性差。
3、弱类型造成潜在的出错可能。
以上是asp语言本身的弱点,在功能方面asp同样存在问题:
第一是功能太弱,一些底层操作只能通过组件来完成
第二缺乏完善的纠错/调试功能
asp.net理论上可以使用任何编程语言包括c#,vb.net、js、、j#、managed c++等等,
最合适的编程语言还是ms为.net frmaework专门推出的c#
优点如下:
(1)是面向对象的编程语言,简单易学。
(2)具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,
封装性使得代码逻辑清晰,并且应用到asp.net上就可以使业务逻辑和html页面分离;
继承性和多态性使得代码的可重用性大大提高
(3)c#还提供了完善的调试/纠错体系。
9、做项目时数据库类型的选择?
当前流行的数据库有:sql server,mysql,oracle,db2。
vs项目中大多是选择以下四种:
sql2000简单实用,功能完全够学习时使用,可通过命令行快速打开;
sql2005功能全面,但安装麻烦,体积大,刚打开数据库的时候比较慢,启动之后就快了许多;
sql2008新出的数据库,功能肯定比前两者强大,建议使用sql2005的用户升级 到sql2008;
access体积小、部署方便(不用启动服务等)使用方便简单.
10、asp.net中经常使用的控件有哪些?
label控件用来显示文本的控件。label控件不能接收鼠标或是键盘输入。
textbox控件来显示和更新任务数据,用户输入内容。
button按钮控件当用户单击或者点击一个按钮时,即会触发click事件
listbox和combobox控件外观不同,但功能极为相似,允许用户进行选择,不允许输入文本。
11、.net开发工具都有哪些?
现在主流是visual studio 2012/2013/2014/2015,
vs提供了下列几个版本:标准版、专业版、tools for office 和 team system 版。
还有c# builder只应用于大型企业开发,
支持一些微软的vs.net都不支持的企业级功能。
还有一款免费的开发工具web matrix,这款自动感知能力弱到几乎没有,
适合开发页面和代码不分开的那种页面,可以提高独立写代码的水平。
不过他带有.net类库浏览器,以及一个数据库开发的控件,也算是有些特点。
入门初学者vs.net会很容易上手,
当然,还有就是高手只用记事本咯!
12、为什么.net程序第一次运行比较慢?
aspx页面在运行时,第一次访问时要进行编译。
当你再次运行时,由于缓存机制,速度就会正常了。
13、c#的命名规范
主要有pascal和camel两种
pascal:单词的首字母大写,如producttype;
camel:首个单词的首字母小写,其余单词的首字母大写,如producttype)
以下是一些常用的c#成员及其推荐命名方法:
类class:pascal
枚举类型enum:pascal记住,是以pascal命名,切勿包含enum
委托delegate:pascal以pascal命名,不以任何特殊字符串区别于类名、函数名
接口interface:pascal注:总是以"i"前缀开始,后接pascal命名
方法function: pascal
命名空间namespace: pascal比如:usingexcelquicker.framework
属性:pascal
参数:camel 首字母小写
常量const: camel 字母全部大写
局部变量:camel 声明变量是以str开头
数据成员:camel 以m开头+pascal命名规则,如mproducttype(m意味member)
14、如何判断一个程序是否开源或者是有源文件?
都有对应的.cs文或vb文件
有项目文件和解决方案文件
bin文件下所有的dll文件或是引用的组件有对应的源码
asp.net基础知识篇-技术问答
1.简述 private、 protected、 public、 internal 修饰符的访问权限。
答:private : 私有成员, 在类的内部才可以访问。
protected : 保护成员,该类内部和继承类中可以访问。
public : 公共成员,完全公开,没有访问限制。
internal: 在同一程序集(命名空间)内可以访问。
2 .列举asp.net 页面之间传递值的几种方式。
答:1.使用querystring, 如…?id=1; response. redirect()…
2.使用session变量
3.使用server.transfer
4.使用cookie
5.使用application
3.c#中的委托是什么?事件是不是一种委托?
答:委托可以把一个方法作为参数代入另一个方法。
委托可以理解为指向一个函数的引用。
事件是一种特殊的委托
4.override与重载的区别
答:重载是方法的名称相同。参数或参数类型不同,进行多次重载以适应不同的需要
override 是在子类对基类中函数的重写。为了适应需要。
5.如果在一个b/s结构的系统中需要传递变量值,但是又不能使用session、cookie、application,您有几种方法进行处理?
答 : this.server.transfer, response. redirect()—querystring
6.描述一下c#中索引器的实现过程,是否只能根据数字进行索引?
答:不是。可以用任意类型。
7.用.net做b/s结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?
答:一般为3层:数据访问层,业务层,表示层。
数据访问层对数据库进行增删查改。
业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。
表示层为了与用户交互例如用户添加表单。
优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。
缺点: 增加成本。
8.什么叫应用程序域?
答:应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。
9.cts、cls、clr分别作何解释?
答:cts是通用类型系统(common type system)
clr是公共语言运行时(common language runtime)
cls是公共语言定义(common language specification)
10.什么是装箱和拆箱?
答:从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。
11.什么是受管制的代码?
答:unsafe:非托管代码。不经过clr运行。
12.什么是强类型系统?
答:rtti:类型识别系统。
13.net中读写数据库需要用到那些类?他们的作用?
答:dataconnection:连接数据库
dataset:数据存储器。
datacommand:执行语句命令。
dataadapter:数据的集合,用于填充数据。
14.asp.net的身份验证方式有哪些?分别是什么原理?
答:windwos(默认)用iis…from(窗体)用帐户…passport(密钥)
15.什么是code-behind技术?
答:代码后植。
16.在.net中,配件的意思是?
答:程序集。(中间语言,源数据,资源,装配清单)
17.常用的调用webservice的方法有哪些?
答:1.使用wsdl.exe命令行工具。
2.使用vs.net中的add web reference菜单选项
18…net remoting 的工作原理是什么?
答:服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。
19.在c#中,string str = null 与 string str = “” 请尽量使用文字或图象说明其中的区别。
答:string str = null 是不给他分配内存空间,而string str = “” 给它分配长度为空字符串的内存空间。
20.请详述在dotnet中类(class)与结构(struct)的异同?
答:class可以被实例化,属于引用类型,是分配在内存的堆上的,struct属于值类型,是分配在内存的栈上的。
21.sqlserver服务器中,给定表 table1 中有两个字段 id、lastupdatedate,id表示更新的事务号,lastupdatedate表示更新时的服务器时间,请使用一句sql语句获得最后更新的事务号。
答:select id from table1 where lastupdatedate = (select max(lastupdatedate) from table1)
22.简要谈一下您对微软.net 构架下remoting和webservice两项技术的理解以及实际中的应用。
答:ws主要是可利用http,穿透防火墙。而remoting可以利用tcp/ip,二进制传送提高效率。
到此这篇关于asp.net基础知识扫盲篇的文章就介绍到这了,更多相关asp.net基础知识内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!