您的位置:首页 > 编程语言 > ASP

Asp.net必须掌握的一些东西(1)

2010-04-08 14:13 357 查看
1.面向对象的思想主要包括什么?
继承、多态、封装
●封装:用抽象的数据类型将数据和基于数据的操作封装在一起,数据被保护在抽象数据类型内部。
●继承:子类拥有父类的所有数据和操作。
●多态:一个程序中同名的不同方法共存的情况。
有两种形式的多态–重载与重写。
 
2.什么是ASP.net中的用户控件
用户控件就是.ascx扩展名的东西喽,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整.
问这样的问题,一般是迷惑你.因为新手还是分不清楚用户控件和服务器控件(也称自定义控件)..用户控件一般用在内容多为静态,或者少许会改变的情况下..用的比较大..类似ASP中的include..但是功能要强大的多..
 
引用用户自定义控件  
  TagPrefix="Forum"   用户控件前缀  
  TagName="Top"       用户控件名  
  Src="_Top.ascx"      用户控件的源文件  
   
在网页中引用时  
      这样写:<forum:top   id="xx"   runat="server"/>就可以了  
 
实例:
<%@ Register Src="~/UserControl/Destinations/DestinationList.ascx"
         TagName="DestinationList" TagPrefix="uc2" %>
引用:
       <uc2:DestinationList runat="server" ID="DestinationList1" />
 
 
 
3.在C#中,string str = null 与 string str = “”的区别。
string str = null 是不给他分配内存空间,
string str = "" 给它分配长度为空字符串的内存空间
 
 
4.请详述在dotnet中类(class)与结构(struct)的异同
Class可以被实例化,属于引用类型,是分配在内存的堆上的
Struct属于值类型,是分配在内存的栈上的.
 
5. DataReader和DataSet的异同
    DataReader使用时始终占用SqlConnection,在线操作数据库..任何对SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..

 
    DataSet则是将数据一次性加载在内存中.抛弃数据库连接..读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存...但是确比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作.
 
6.C#中的接口和类有什么异同。
接口和类都是类,
接口只包含方法或属性的声明,不包含具体实现方法的代码
接口可以实现多继承,而类只能是单继承,继承接口的类必须实现接口中声明的方法或属性。
接口主要定义一种规范,统一调用方法,在大型项目中接口正发挥日益重要的作用
类是方法功能的实现和集合,接口是规范类.约束类.
接口,是可以多继承,类只有单继承.接口强调了你必须实现,而没有具本实现的方法和虚类有点相似
 
7.Override与重载有什么区别?
一个是重写父类函数,一个是同一个函数的几种形式
 
8.触发器的作用
   触发器可以查询其它表,而且可以包含复杂的 SQL 语句。它们主要用于强制复杂的业务规则或要求。触发器还有助于强制引用完整性,以便在添加、更新或删除表中的行时保留表之间已定义的关系。
保证数据库操作变更能接到通知
 
9.<%# %> 和 <% %> 有什么区别?
   <%# %>表示绑定的数据源
   <% %>是服务器端代码块
 
10.常见的设计模式
抽象工厂模式、适配器模式、外观模式 command命令模式,桥接模式,组合模式,装饰模式,状态模式,备忘录模式等。
常见的MVC模式。
MVC模式是1996年由Buschmann提出的:
模型(Model):就是封装数据和所有基于对这些数据的操作。
视图(View):就是封装的是对数据显示,即用户界面。
控制器(Control):就是封装外界作用于模型的操作和对数据流向的控制等。
 
 
11.什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?什么是重载?CTS、CLS和CLR分别作何解释?
 
 
12.列举一下你所了解的XML技术及其应用
xml可以用来做网页(xslt) xml可以当作数据库 xml可以用来保存对象的系列化
xml用于配置,用于保存静态数据类型.接触XML最多的是web Services..和config
 
13.值类型和引用类型的区别?写出C#的样例代码。
在dotnet中有两大类数据类型,即值类型和引用类型
值类型存贮在栈中,而引用类型存贮在动态的堆中
栈是先进先出的有系统管理的空间
堆是由应用程序控制的可随时申请和释放该空间
在Donnet中一般情况下有垃圾收集器处理,他们的不同导致在编程上的不同。
  例:                    
    StringBuilder a=new StringBuilder();   //将StringBuilder的一个首地址传给a
    StringBuilder b=a;                           //将StringBuilder的一个首地址传给b
    b.Append("mxh");
    Console.WriteLine(a);
    a=null;
    Console.WriteLine(b);

 

 
    输出结果:mxh
                  mxh
 

的意思是:a的引用置为空但此时StringBuilder的堆空间并没有被释放,因此在此之后,输出b时,仍然可以输出mxh

      "a=null"
 

 
14.ADO.net中常用的对象有哪些?分别描述一下。
Connection    对象用于在应用程序和数据库之间的连接
Command      可以检索和操纵数据库中的数据
DataAdapter  对象充当DataSet和数据源之间用于检索和保存数据的桥接器
DataSet        对象从数据库检索的数据可以存储在其中能够以XML形式保存
DataReader   查询结果的一种只进。只读的视图 不具有DataSet的任何复杂功能。加快访问和查看数据的速度 不提供断开式访问
 
 
15.如何理解委托?
据说相当于函数指针,定义了委托就可以在不调用原方法名称的情况下调用那个方法.
委托具有以下特点:
委托类似于 C++ 函数指针,但它是类型安全的。
委托允许将方法作为参数进行传递。
委托可用于定义回调方法。
委托可以链接在一起;例如,可以对一个事件调用多个方法。
方法不需要与委托签名精确匹配。有关更多信息,请参见协变和逆变。
C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法
 

16.UDP连接和TCP连接的异同
udp前者只管传,不管数据到不到,无须建立连接.
tcp后者保证传输的数据准确,须要连结.

17.ASP.net的身份验证方式有哪些?分别是什么原理?
window验证:为每个用户开启window帐号,验证其身份.安全性较高.
forms验证:为每个登陆用户写入一个身份验证票据..在web使用最广的验证方式..灵活方便.
18.进程和线程分别怎么理解?
进程是老子,线程是儿子,没有老子就没有儿子,一个老子可以有多个儿子.一个儿子可以成为别人的儿子,一个老子也可以为别的老子生儿子.

19.什么是code-Behind技术。
新建一个VS.NET下的项目..看到ASPX,RESX和CS三个后缀的文件了吗??这个就是代码分离.实现了HTML代码和服务器代码分离.方便代码编写和整理.
20.活动目录的作用。
活动目录是window2000的最重要的功能.可以将用户信息全部集成起来,登陆以后可以访问多个不同的网络服务..
.
21..net中读写XML的类都归属于哪些命名空间?
System.XML类
22.解释一下UDDI、WSDL的意义及其作用
UDDI 用于注册各个服务提供商提供的服务 以便可以共享它们 它还有助于WEB服务客户或web用户查找该Web服务
wsdl 是web服务描述语言(web Services Description Language)
23.什么是SOAP,有哪些应用。
SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一直语言相互通信。
24.如何部署一个ASP.net页面。
 
25.如何理解.net中的垃圾回收机制。
如果发现内存不够,则垃圾回收器,将全部对象作为无效对象(被回收对象),然后先将全局变量,static,处于活动中的局部变量,以及当前CG指针指向的对象放入一个表中.然后
会搜索新列表中的对象所引用的对象.加入列表中,其他没有被加入列表的对象都会被回收.
26.常用的调用webservice方法有哪些?
一般用的是WSDL..或者web引用..
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息