点net面试之葵花宝典

更新时间:2023-07-22 09:41:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

/content/10/0716/16/2232000_39451698.shtml 1. CLR、CTS、CLS 分别是什么意思?

CLR 是公共语言运行库(common language runtime)

CTS是通用类型系统(Common Type System)

CLS是公共语言规范(Common Language Specification)

2. 什么是基元类型?

由编译器直接支持的数据类型称为基元类型。比如:byte[]

3、简要谈一下您对微软.NET构架下remoting和webservice两项技术的理解以及实际中的应用。 remoting是.net中用来跨越machine, process, appdomain(应用程序域)进行方法调用的技术,对于三层结构的程序,就可以使用remoting技术来构建.它是分布应用的基础技术.相当于以前的DCOM; Web Service是一种构建应用程序的普通模型,并能在所有支持internet网通讯的操作系统上实施。 Web Service令基于组件的开发和web的结合达到最佳,基于组件的对象模型;

4 .如何把一个array复制到arrayList里

foreach(object o in array )arrayList.Add(o);

5. WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回。

在web控件发生事件时,客户端采用提交的形式将数据交回服务端,服务端先调用Page_Load事件,然后根据传回的状态信息自动调用服务端事件。

自动传回:是当我们在点击客户端控件时,采用提交表单的形式将数据直接传回到服务端,只有通过自动传回才能实现服务端事件的机制。

如果没有自动回传机制就只能调用客户端事件(ajax异步请求机制,实现页面无刷新加载),而不能调用服务端事件。

6. WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用? 可以调用

例如:<asp:TextBox id="TextBox1" onclick="clientfunction();" runat="server"> </asp:TextBox>

<INPUT id="Button2" value="Button" name="Button2" runat="server" onclick="clientfunction();">

7. 请解释中的web页面与其隐藏类之间的关系?

一个页面一般都对应一个隐藏类,一般都在页面的声明中指定了隐藏类。例如一个页面Tst1.aspx的页面声明如下

<%@ Page language="c#" Codebehind="Tst1.aspx.cs" AutoEventWireup="false" Inherits="T1.Tst1" %> Codebehind="Tst1.aspx.cs" 表明经编译此页面时使用哪一个代码文件 Inherits="T1.Tst1" 表用运行时使用哪一个隐藏类

8. 什么是viewstate,能否禁用?是否所有控件都可以禁用? ViewState是服务器空间将数据序列化到客户端的一种机制

Viewstate是保存状态的一种机制,用来存储页面范围内的数据,以保证用户在离开页面之前数据的持续性,实现上来说,ViewState被保存在页面内的一个隐藏控件内,并且提交到服务器后被提取后使用,

EnableViewState属性设置为false即可禁用:

9. 当发现不能读取页面上的输入的数据时很有可能是什么原因造成的?怎么解决 很有可能是在Page_Load中数据处理时 没有进行Page的IsPostBack属性判断。

10. 请解释什么是上下文对象,在什么情况下要使用上下文对象

上下文对象是指HttpContext类的Current 属性,当我们在一个普通类中要访问内置对象 (Response,Request,Session,Server,Appliction等)时就要以使用此对象。、 当前请求页面的所有对象封转就是上下文对象

11. 请解释转发(Server)与跳转(clinet)的区别?

转发就是服务端的跳转 A页面提交数据到B页面,B页面进行处理然后从服务端跳转到其它页面

跳转就是指客户端的跳转

;

超链接跳转:通过地址栏传递字符串,丢失前面的请求,无法动态改变请求的地址; 地址栏改变。

HyperLink1.NavigateUrl=“

a.aspx?name="+TextBox1.Text;

浏览器重定向:通过地址栏传递字符串;丢失前面的请求;服务器得到的将是新的请求;地址栏改变;两次往返;只能传string,255个字符,Response.Redirect (“a.aspx?name=”

+a); 服务器转发:将新页面的输出覆盖到原页面上;不会丢失原始请求;地址栏没有变。

12.请简述一下用Socket(泛指网络通讯)进行同步通讯编程(阻塞式编程)的详细步骤 1、在应用程序和远程设备中使用协议和网络地址初始化套接字 2、在应用程序中通过指定端口和地址建立监听 3、远程设备发出连接请求

4、应用程序接受连接产生通信scoket

5、应用程序和远程设备开始通讯(在通讯中应用程序将挂起直到通讯结束) 6、通讯结束,关闭应用程序和远程设备的Socket回收资源

13. 请解释web.config文件中的重要节点 appSettings包含自定义应用程序设置。 system.web 系统配置。 compilation动态调试编译设置。

HTTPHander 请求处理器

authentication身份验证,此节点设置应用程序的身份验证策略。 customErrors自定义错误信息设置。

authorization授权, 此节设置应用程序的授权策略。

14 .列举 页面之间传递值的几种方式。

1. 使用QueryString, 如....?id=1; response. Redirect()....可以将传递的值显示在浏览器的地址栏中。 2.使用Session变量,作用于用户个人,过量的存储会导致服务器内存资源的耗尽。 3.Application对象的作用范围为全局,对所有用户都有效。其常用方法Lock 与Unlock。 Server.Transfer

("a.aspx");

服务器执行:将新页面的输出附加到原页面上;不会丢失原始请求 ;地址栏没有变。 Server.Execute("a.aspx");

4.使用Cookie对象变量,存值-Response.AppendCookie("Cookie名称"),拿值:Request.Cookie["Cookie名称"].Value。

5.使用Server.Transfer,(服务器转发只有一次请求的生命周期,减轻服务器压力,数据安全)

15.请说明在.net中常用的几种页面间传递参数的方法,并说出他们的优缺点。

session(viewstate) 会话状态,简单,但易丢失。 application 应用程序状态 全局。

cookie 简单,但可能不支持,可能被伪造。 input type="hidden" 简单,可能被伪造。

url参数简单,显示于地址栏,长度有限,数据库稳定,安全,但性能相对弱。 16.override与重载的区别

Override用来重写父类的方法,

重载--使用相同名的方法或操作符拥有不同类型的参数

17、.net的异常处理机制是什么?

try{可能要出错的代码} catch{扑捉到错误后的处理} finally{不论代码是否出错都要执行}

.NET中异常会层层上抛,如果没有抓住,异常就会抛到程序入口那

18、C#中接口(interface)和类的异同:

接口是负责功能的定义,(是一种标准和规范,约束类的行为)项目中通过接口来规范类,操作类以及抽象类的概念!

而类是负责功能的具体实现!在类中也有抽象类的定义,抽象类(abstract)与接口的区别在于: 抽象类是一个不完全的类,类里面有抽象的方法和属性,也可以有具体的方法和属性,需要进一步的专业化。 但接口是一个行为的规范,里面的所有东西都是抽象的! 一个类只可以继承一个基类也就是父类,但可以实现多个接口 同:都不能实例化对象。

都包含未实现的方法声明(两者中的方法都不可以有方法体)。 派生类必须全部实现未实现的方法。 异:使用关键字不同。

类可包含普通方法,接口只能有抽象方法。 类可实现部分方法,接口则必须实现全部方法。

类访问修饰符有多种,接口的方法的访问权限只有public一种。

类只能单继承,接口则可多实现。 19、DataReader和DataSet的异同

DataReader和DataSet最大的区别:在于DataReader使用时始终占用SqlConnection,在线操作数据库。任何对SqlConnection的操作都会引发DataReader的异常..因为DataReader每次只在内存中加载一条数据,所以占用的内存是很小的..因为DataReader的特殊性和高性能.所以DataReader是只进的..你读了第一条后就不能再去读取第一条了..只读数据不保存,断开数据连接数据就没有了

DataSet则是将数据一次性加载在内存中.断开与数据库连接。读取完毕即放弃数据库连接..因为DataSet将数据全部加载在内存中.所以比较消耗内存..但是却比DataReader要灵活..可以动态的添加行,列,数据.对数据库进行回传更新操作;

20. 在c#中using和new这两个关键字有什么意义,请写出你所知道的意义?

Using 引入一个命名空间,他实现了Idisposable的类型对象调用Dipose方法,using语句能够保证使用的对象的Dispose方法在using语句块结束时调用,无论是否有异常被抛出,C#编译器在编译时自动为using语句加上try/finally块,所有using的本质和异常捕捉语句一样,但语法更为简洁,所有using使用的对象都应该在using语句开始后再初始化,以保证所有的对象能够被Dispose

Using有三种用途:引用命名空间;为命名空间或类型创建别名;使用Using语句。 New 实例化一个对象,或修饰一个方法,表此方法完全重写此方法;

(使用new修饰符显式隐藏从基类继承的成员。若要隐藏继承的成员,请使用相同名称在派生类中声明该成员,并用NEW修饰符修饰它)

21.谈谈类和结构的区别?

1.结构是值类型:值类型在栈上分配地址,所有的基类型都是结构类型

类是引用类型:引用类型在堆上分配地址, 栈的执行效率要比堆的执行效率高,可是栈的资源有限,不适合处理大的逻辑复杂的对象所以结构处理作为基类型对待的小对象,而类处理某个商业逻辑 2.继承性

结构:不能从另外一个结构或者类继承,本身也不能被继承,虽然结构没有明确的用sealed声明,可是结构是隐式的sealed .

类:完全可扩展的,除非显示的声明sealed 否则类可以继承其他类和接口,自身也能被继承 注:虽然结构不能被继承 可是结构能够继承接口,方法和类继承接口一样 3.内部结构: 结构:

没有默认的构造函数,但是可以添加构造函数 没有析构函数

没有 abstract 和 sealed(因为不能继承) 不能有protected 修饰符 可以不使用new 初始化

在结构中初始化实例字段是错误的 类:

有默认的无参构造函数 有析构函数

可以使用 abstract 和 sealed 有protected 修饰符 必须使用new 初始化

22.什么是SOAP,有哪些应用。

答:SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一种语言相互通信。这种相互通信采用的是XML格式的消息

23.常用的调用webservice方法有哪些?

可以从浏览器ASP页或其他WEB服务调用可以使用HTTP-GET HTTP-POST访问WEB服务。 也可以从ASP页或其他WEB服务向其他WEB服务发出SOAP请求GET、POST SOAP 使用WEB

服务代理

24. 私有程序集与共享程序集有什么区别?

一个私有程序集通常为单个应用程序所使用,并且存储于这个应用程序所在的目录之中,或此目录下面的一个子目录中。

共享程序集通常存储在全局程序集缓存(Global Assembly Cache)之中,这是一个由.NET运行时所维护的程序集仓库。共享程序集通常是对许多应用程序都有用的代码库,比如.NET Framework类。

25. 请解释进程与线程的区别?进程与程序的区别?

一般,一个应用程序对应于一个或多个进程,可以把进程看作是该应用程序在操作系统中的标识;而一个进程通常由多个线程组成,而线程是操作系统为该应用程序分配处理时间的最小单元。

26. CLR与IL分别是什么含义?

CLR:公共语言运行时,类似于Java中的JVM,Java虚拟机;在.Net环境下,各种编程语言使用一种共同的基础资源环境,这就是CLR,CLR将直接与操作系统进行通信,而编程语言如C#.NET将尽量避免直接与*作系统直接通信,加强了程序代码的执行安全性,可以这样看:CLR就是具体的编程语言如:C#.NET与*作系统之间的翻译,同时它为具体的编程语言提供了许多资源:

IL,中间语言,也称MSIL,微软中间语言,或CIL,通用中间语言;所有.NET源代码(不管用哪种语言编写)在进行编译时都被编译成IL。在应用程序运行时被即时(Just-In-Time,JIT)编译器处理成为机器码,被解释及执行。

27.什么叫做SQL注入,如何防止?请举例说明。 利用sql关键字对网站进行攻击。过滤关键字'等

28.请叙述类与结构的区别。 1)、结构是值类型; 2)、结构不支持继承;

3)、结构不能定义默认的构造函数; 4)、结构不能定义析构函数;

5)、结构不能使用初始值设置域值。

29. 的身份验证方式有哪些?分别是什么原理? 术语

定义

Windows 提供有关如何将 Windows 身份验证与 Microsoft Internet 信息服务 (IIS) 身份验证结合使用

来确保 应用程序安全的信息。

Forms 提供有关如何使用您自己的代码创建应用程序特定的登录窗体并执行身份验证的信息。使用

Forms 身份验证的一种简便方法是使用 成员资格和 登录控件,它们一起提供了一种只需少量或无需代码就可以收集、验证和管理用户凭据的方法。有关更多信息,请参见使用成员资格管理用户和 登录控件概述。

Passport 提供有关由 Microsoft 提供的集中身份验证服务的信息,该服务为成员站点提供单一登录和核

心配置文件服务。

30..请问: String类与StringBuilder类有什么区别?(简答)

a) b) c)

string是个独特的基本数据类型,它是基本数据类型中唯一的引用类型。 StringBuilder也是引用类型;

string虽然是引用类型,但其分配一般不使用new表达式,而StringBuilder需要使用new表达式;

用string.Empty表示空字符串,不要用“”,由于string.Empty的定义为public static readonly string Empty,编译时会转化成“”,但是string.Empty是一个常数,“”是一个字符串对象,对字符串对象进行运算总是很慢的。使用new StringBuilder()表示空的StringBuilder; d) e) f) g) h)

使用string或者StringBuilder前要检查字符串是否为null,null意味着字符串没有赋值,没有分配内存;

使用Length来检查检查String或者StringBuilder的长度,如果为0表示空字符; string的值存放在常量池中,引用置于栈上; StringBuilder的值存放在堆中,引用存放在栈上;

任何对string的修改都会创建一个新string对象;而StringBuilder的Append方法只是修改最初分配的空间上的数据,并能动态改变容量;

需要按引用传递两个参数才能交换两个string或者StringBuilder对象;

频繁进行字符串连接操作时,使用StringBuilder来改善性能,连接操作越频繁,差别越明显。 31.请叙述属性与索引器的区别。

属性 索引器 通过名称标识 通过签名标识。 通过简单名称或成员访问来访问。 通过元素访问来访问。 可以为静态成员或实例成员。 必须为实例成员。

属性的 get 访问器没有参数。 索引器的get访问器具有与索引器相同的形参表。 属性的 set访问器包含隐式value参数。 除了value参数外,索引器的 set 访问器还具有与索引

器相同的形参表。

32.请叙述const与readonly的区别。

readonly 关键字与 const 关键字不同: const 字段只能在该字段的声明中初始化。readonly 字段可以在声明或构造函数中初始化。因此,根据所使用的构造函数,readonly 字段可能具有不同的值。另外,const 字段是编译时常数,而 readonly 字段可用于运行时常数。

readonly 只能在声明时或者构造函数里面初始化,并且不能在 static 修饰的构造函数里面。

33.重载与覆盖的区别

1、方法的覆盖是子类和父类之间的关系,是垂直关系;方法的重载是同一个类中方法之间的关系,是水平关系。

2、覆盖只能由一个方法,或只能由一对方法产生关系;方法的重载是多个方法之间的关系。 3、覆盖要求参数列表相同;重载要求参数列表不同。

4、覆盖关系中,调用那个方法体,是根据对象的类型(对象对应存储空间类型)来决定;重载关系,是根据调用时的实参表与形参表来选择方法体的。

=*****34、在C#中,string str = null 与 string str = “ ”。

string str = null 是不给他分配内存空间,而string str = "" 给它分配长度为空字符串的内存空间.

35. Internal修饰符有什么含义?

internal数据访问修饰符,表示对所修饰的成员在当前程序集内可以进行没有任何限制的访问;但在当前程序集外部则不能进行访问,其可访问性级别低于public ,高于protected。

36. JAVA的代码是半编译半解释的,C#的代码是否也是这样

C#中对于程序代码的处理很类似于Java中的程序代码处理机制;也可以称作半编译半解释,具体为:所有.NET源代码(不管用哪种语言编写)在进行编译时都被编译成IL。在应用程序运行时被即时(Just-In-Time,JIT)编译器处理成为机器码,被解释及执行。

37. 什么是程序集和应用程序域?

程序集(Assembly)是一个由类型定义,数据文件和资源文件组成的逻辑集合。每个程序集都包含一个程序集清单,该清单通常被附加在某个文件头上,也可以设置单独建立一个文件来包含该清单。

应用程序域是CLR中提供代码运行范围,错误隔离和安全设置隔离的逻辑单元,功能类似于操作系统的进程。一个或多个应用程序域在一个操作系统的进程中运行,应用程序域的创建和销毁所需的开销,相对于操作系统进程较小。但和系统进程一样,应用程序域之间的数据共享相当困难。

38. 请解释进程与线程的区别?进程与程序的区别?

一般,一个应用程序对应于一个或多个进程,可以把进程看作是该应用程序在*作系统中的标识;而一个进程通常由多个线程组成,而线程是*作系统为该应用程序分配处理时间的最小单元。

39. CLR与IL分别是什么含义?

CLR:公共语言运行时,类似于Java中的JVM,Java虚拟机;在.Net环境下,各种编程语言使用一种共同的基础资源环境,这就是CLR,CLR将直接与*作系统进行通信,而编程语言如C#.NET将尽量避免直接与*作系统直接通信,加强了程序代码的执行安全性; 40. 对象能否调用静态方法

不能。对于类内部定义的静态变量及静态方法,该类的对象均不能调用。

41 .请解释中以什么方式进行数据验证

非空验证(RequiredFieldValidator) 比较验证(CompareValidator)

范围验证(RangeValidator) 正则表达式验证(RegularExpressionValidator) 自定义验证控件(CustomValidator) 集中验证信息处理控件(ValidationSummary)

42. WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回。

在web控件发生事件时,客户端采用提交的形式将数据交回服务端,服务端先调用Page_Load事件,然后根据传回的状态信息自动调用服务端事件

自动传回是当我们在点击客户端控件时,采用提交表单的形式将数据直接传回到服务端只有通过自动传回才能实现服务端事件的机制,如果没有自动回传机制就只能调用客户端事件,而不能调用服务端事件

(c/s是客户端和服务器,b/s是浏览器和服务器。 c/s在客户端要安装软件的,b/s只要有IE就可以浏览。 c/s的扩展升级比较困难,b/s就很容易的。 c/s的安全性好一些,b/s就没有c/s的高。 c/s一般用在局域网,b/s一般用在广域网。)

43. Session的存储方式和设置方法

Session数据一共有四种存储方式,分别为存储在IIS进程中,状态服务器中,SqlServer数据库中和自定义程序中,除了准备必要的服务外(如SQL SERVER数据库服务器),还需要配置站点的Web.config。

44. 请解释什么是上下文对象,在什么情况下要使用上下文对象

上下文对象是指HttpContext类的Current 属性,当我们在一个普通类中要访问内置对象(Response,Request,Session,Server,Appliction,page,cache,context,trace)时就要以使用此对象

44.什么是中的用户控件,他和自定义控件的区别?

用户控件就是.ascx扩展名的东西,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整.

1、用户控件只能在当前项目中使用,而自定义控件可以在多个项目中重复使用

2、自定义控件最终编译成动态连接库形式,使用自定义控件时,可以在项目中直接添加对该动态库的引用,然后通过代码创建该自定义控件

3、如果自定义控件从已有的控件继承而来,则可以在已有的控件的OnPaint事件中重绘该控件的外观

45.列举一下你所了解的XML技术及其应用

xml可以用来做网页(xslt) xml可以当作数据库

xml可以用来保存对象的序列化(web服务好象是基于这个的)

中常用的对象有哪些?分别描述一下。 对象

Connection

说明

建立与特定数据源的连接。 所有 Connection 对象的基类均为 DbConnection 类。

Command

对数据源执行命令。 公开 Parameters,并可在 Transaction 范围内从 Connection 执行。 所有 Command 对象的基类均为 DbCommand 类。

DataReader

从数据源中读取只进且只读的数据流。 所有 DataReader 对象的基类均为 DbDataReader 类。

DataAdapter 使用数据源填充 DataSet 并解决更新。 所有 DataAdapter 对象的基类均为

DbDataAdapter 类。

Transaction 将命令登记在数据源处的事务中

CommandBuilder一个帮助器对象,它自动生成 DataAdapter 的命令属性或从存储过程中派生参数信息,并填充 Command 对象的 Parameters 集合

ConnectionStringBuilder 一个帮助器对象,它提供一种用于创建和管理由 Connection 对象使用的连接字符串的内容的简单方法

47.如何理解委托?

委托类似于 C++ 函数指针,但它是类型安/全的。 委托允许将方法作为参数进行传递。 委托可用于定义回调方法。

委托可以链接在一起;例如,可以对一个事件调用多个方法。

中读写数据库需要用到哪些类?他们的作用

Configuration ,Sqlconnection, Sqlcommand

49.UDP连接和TCP连接的异同。 UDP 传输速度快但不安全

TCP 传输速度相比UDP而言慢一些 但是安全

50.什么是code-Behind技术。

ASPX,RESX和CS三个后缀的文件,这个就是代码分离.实现了HTML代码和服务器代码分离.方便代码编写和整理

51.如何理解.net中的垃圾回收机制。

在.NET与J2EE中的垃圾回收不同,在J2EE中,垃圾回收要写一大堆代码来处理,但是。NET中将会自动处理。垃圾回收就是将占用在内存中用不到的东西回收从而释放内存。

52.概述反射和序列化

反射:程序集包含模块,而模块包含类型,类型又包含成员。反射则提供了封装程序集、模块和类型的对象。您可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型。然后,可以调用类型的方法或访问其字段和属性

:序列化是将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。在另一端,反序列化将从该流重新构造对象。

53.概述o/r mapping 的原理

利用反射,配置 将类于数据库表映射

54.用sealed修饰的类有什么特点

sealed 修饰符用于防止从所修饰的类派生出其它类。如果一个密封类被指定为其它类的基类,则会发生编译时错误。

密封类不能同时为抽象类。

sealed 修饰符主要用于防止非有意的派生,但是它还能促使某些运行时优化。具体说来,由于密封类永远不会有任何派生类,所以对密封类的实例的虚拟函数成员的调用可以转换为非虚拟调用来处理。

55.概述.NET里对 remoting 和 webservice 两项技术的理解和实际中的应用。

远程逻辑调用,remoing接口只能用在.net中

56. EXE与DLL之间的区别?

EXE可以直接执行,DLL是动态链接库,不能被直接执行,附加到某个进程中才能执行.

57. 什么是强类型,什么是弱类型,那种更好些为什么?

强类型Java,C#, 强类型在一块内存上定义了某种类型之后无法改变其类型的,例如string str;那么str不能当作int类型来使用,可以使用强制类型转化,弱类型:javascript,弱类型把一块内存上定义为多种类型

58.阐述面向接口、面向对象、面向方面编程的区别

面向接口:通过接口规范对象的行为,它属于面向对象的一部分 面向对象:继承,封装,多态 特点:代码好维护,安全,隐藏信息 面向方面编程:将不同模块中的相似之处分离出来,在集合成一个“方面”

59.property 与 attribute的区别,他们各有什么用处,这种机制的好处在哪里? Property:是一个方法是GET和SET的组合,一个是读,一个是写。

Attribute :是一个对象,作用在于两个方面。一个是影响编译器的形为,另一个是把描述信息写入Assembly中。

60.你对web service的体会?

答:如果自己写的一些程序也希望别人可以通过Web服务来使用,也可以把自己编写的方法贴上标签[WebMethed]来实现Web 服务。[是当编写程序时,希望实现一些别的网站已经实现过的,也用Web服务可视成XML语言的编码。可以使用别人的编码生成的XML找到自己需要的信息,来实现自己编写的程序的一些功能。 原理:

利用SOAP(简单对象访问协议)在http上执行远程方法的调用,也可以使用WSDL(Web服务描述语言)来完成完整的描述Web服务,然后用UDDI注册各个服务提供商提供的服务,以便共享他们 61. What is the Com+? How does it work?

com+(componment object model)它解决了两个工作中的问题:

1, 在以前,如果多个应用程序要使用一个函数,那么这个函数需要放在多个可执行文件中,既占用了大量的空间,

2, 当函数发生问题时,需要修改每一个可执行文件中的函数,这样就浪费了大量的时间

当你使用了com+以后,这些问题应刃而解,它的好处就是可以提高的代码的重用,有利于分布式开发,而且互相不会影响

而且它可以进行事务处理,可以保证数据可一至性,准确性,它一般会用在多个数据源的事务中,它可以保证数据的正确,一直;

它的缺点: 版本号问题,详细地计划必须有;

62.讲一讲你理解的web service,在.net framework中,怎么很好的结合xml?

Web Service就是一个应用程序,它向外界暴露出一个能够通过Web进行调用的API. 是自包含、自描述、模块化的应用 可扩展的标记语言XML,是Web Service平台中表示数据的基本格式.通过SOAP!

63.什么是弱引用、强引用?

弱引用:即在引用对象的同时仍然允许对该对象进行垃圾回收。

强引用:垃圾回收堆可管理所有对象类型。此堆可监视对象的整个生存期,并且仅当程序的任何部分都不引用这些对象时才将其释放

64.参数传值和参数传引用的区别

值传递传的是副本,引用传递传的是地址。

把值作为参数传递时,不会影响到原函数中变量的值,实际上是将该变量值的副本传递给调用的函数, 而用ref关键字进行参数传引用时,传递是变量的地址,类似指针的概念.

与ASP相比,主要有哪些进步? asp解释形、它是依赖于浏览器;

编译型、可以和后台代码分开的、不依赖于浏览器;

66.什么是WEB控件?使用WEB控件有那些优势?

从System.Web.UI.Control继承下来的都是Web控件。优势是减少页面复杂度,控件具有重用性。

67.大概描述一下ASP。NET服务器控件的生命周期—重点

答:初始化 加载视图状态 处理回发数据 加载 发送回发更改通知 处理回发事件 预呈现 保存状态 呈现 处置 卸载 (/f?kz=192719521)

68.什么是内存泄漏,怎样最简单的方法判断内存泄漏 ?

内存被分配,但没有被释放,就是内存泄露。在任务管理器里面看到程序占用内存越来越多,却没有减少的迹象,很可能就发生了内存泄露。

69.如果出现ASP。NET中的事件不能触发可能由于什么原因造成? 可能是表单嵌套,或是事件的委托掉了。

70.请解释接口的显式实现有什么意义?

1.由于显式接口成员实现不能通过类或结构实例来访问,因此它们就不属于类或结构的自身的公共接口。当需在一个公用的类或结构中实现一些仅供内部使用(不允许外界访问)的接口时,这就特别有用。

2.显式接口成员实现可以消除因同时含有多个相同签名的接口成员所引起的多义性。如果没有显式接口成员实现,一个类或结构就不可能为具有相同签名和返回类型的接口成员分别提供相应的实现,也不可能为具有相同签名和不同返回类型的所有接口成员中的任何一个提供实现。

71.如果在一个B/S结构的系统中需要传递变量值,但是又不能使用Session、Cookie、Application,您有几种方法进行处理?

答:JavaScript / QueryString/数据库/全局变量/cache缓存技术

72.你对微软.net企业库了解?都包括那些模块?

缓存(Caching):允许开发人员在程序中合并一个本地缓存器。 配置(Configuration): 允许程序读入和编写配置信息。

加密(Cryptography):允许开发人员在程序中使用加密技术和信号功能。 数据访问(Data Access):允许开发人员在程序中使用标准的数据库功能。

异常处理(Exception Handing):允许开发人员和规范制定者建立一套用于 处理异常的统一策略。 日志和规范应用程序(Logging and Instrumentation ):允许开发人员在程序中加入日志和规范应用程序。 安全性(Security):允许开发人员在程序中包括安全性功能。程序可以在不同的情况下使用到安 全性,比如鉴别和批准用户访问数据库,获得任务信息,以及缓存用户信息。

73.传入某个属性的set方法的隐含参数的名称是什么?

Value,它的类型和属性所声名的类型相同。

74.如何在C#中实现继承?

在类名后加上一个冒号,再加上基类的名称。

75.C#支持多重继承么?

类之间不支持,接口之间支持。类对接口叫做实现,不叫继承。 重载:同名同类不同参。

76.被protected修饰的属性/方法在何处可以访问?

在继承或间接继承与这个类的子类中可以访问。

77.私有成员会被继承么?能够将非静态的方法覆写成静态方法么?

会,但是不能被访问。所以看上去他们似乎是不能被继承的,但实际上确实被继承了。 不能,覆写方法的签名必须与被覆写方法的签名保持一致,除了将virtual改为override。

78.可以覆写私有的虚方法么?

不可以,甚至子类中无法访问父类中的私有方法。

79.能够阻止某一个类被其他类继承么?

可以,使用关键字sealed。

80.能够实现允许某个类被继承,但不允许其中的某个方法被覆写么? 可以,标记类为public,并标记方法为sealed。

81.什么是抽象类(abstract class)?

一种不可以被实例化的类。抽象类中一般含有抽象方法,当然也可有具体实现。继承类只有实现过所有抽象类的抽象方法后才能被实例化 。

82.何时必须声明一个类为抽象类?

当这个类中包含抽象方法时;或是该类并没有完全实现父类的抽象方法时。

83.接口(interface)是什么?

只含有共有抽象方法(public abstract method)的类。这些方法必须在子类中被实现。

84.为什么不能指定接口中方法的修饰符?

接口中的方法用来定义对象之间通信的契约,指定接口中的方法为私有或保护没有意义。他们默认为公有方法。

85.const和readonly有什么区别?

const可以用于局部常量,而readonly,实际是类的initonly字段,显然不能是局部的。 86. 通过超链接怎样传递中文参数?

用URL编码,通过QueryString传递,用EnCode编码 用DeCode解码

相对于ADO等主要有什么改进

1:不依赖于ole db提供程序,而是使用.net托管提供的程序, 2:不使用com

3:不在支持动态游标和服务器端游

4:,可以断开connection而保留当前数据集可用 5:强类型转换 6:xml支持

(两种数据访问方式。)

88.C#中的委托是什么?事件是不是一种委托?

委托是一个可以对方法进行引用的类,委托类具有一个签名,并且它只能对与其签名匹配的方法进行引用。这样,委托就等效于一个类型安全函数指针或一个回调。事件是一种委托

89.XML 与 HTML 的主要区别

1. XML是区分大小写字母的,HTML不区分。

2. 在HTML中,如果上下文清楚地显示出段落或者列表键在何处结尾,那么你可以省略</p>或者</li>之类的结束 标记。在XML中,绝对不能省略掉结束标记。

3. 在XML中,拥有单个标记而没有匹配的结束标记的元素必须用一个 / 字符作为结尾。这样分析器就知道不用 查找结束标记了。

4. 在XML中,属性值必须分装在引号中。在HTML中,引号是可用可不用的。

5. 在HTML中,可以拥有不带值的属性名。在XML中,所有的属性都必须带有相应的值。 XML:存储数据,相当一个简易的数据库。区分大小写字母的, HTML:显示数据,不区分大小写。

90.Session有什么重大BUG,微软提出了什么方法加以解决?

是IIS中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate server或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。

=91.堆和栈的区别?

堆:由系统管理,随系统产生而存在。有关键字NEW

(椎是程序运行期动态分配的内存空间,你可以根据程序的运行情况确定要分配的堆内存的大小) 栈:依赖于线程,随时线程产生而产生,消完而消完。

(栈是编译期间就分配好的内存空间,因此你的代码必须就栈的大小有明确的定义) 共同点:都是一块存储区域。

=92.&和&&的区别。

&是位运算符,表示按位与运算,&&是逻辑运算符,表示逻辑与(and).

=93.Collection 和 Collections的区别。

Collection:该成员支持 .NET Framework 结构,因此不适用于直接从代码中使用

Collections命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。

94.Static Nested Class 和 Inner Class的不同,说得越多越好

Static Nested Class是被声明为静态(static)的内部类,它可以不依赖于外部类实例被实例化。而通常的内部类需要在外部类实例化后才能实例化。

=95.HashMap和Hashtable的区别。

HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都完成了Map接口,主要区别在于HashMap允许空(null)键值(key),由于非线程安全,效率上可能高于Hashtable.

=96.什么叫应用程序域?

应用程序域可以理解为一种轻量级进程。起到安全的作用。占用资源小。

=97.什么是受管制的代码?

unsafe:非托管代码。不经过CLR(公共语言运行库)运行。

托管代码:运行的。NET平台上。(在.net环境中运行的代码都称之为受管制的代码) 非托管代码:不是运行在。NET平台上的。

(在.net环境之外,在Windows上运行的代码称之为不受管制的代码)

98.调用WebService的方法有哪些?

1.使用WSDL.exe命令行工具。

2.使用中的Add Web Reference菜单选项

Remoting 的工作原理是什么?

服务器端向客户端发送一个进程编号,一个程序域编号,以确定对象的位置。

它是一个远程调用。可以用HTTP,TCP。等协议进行传输数据,而Web service只能用HTTP

100.简要谈一下您对微软.NET 构架下remoting和webservice两项技术的理解以及实际中的应用。

WS主要是可利用HTTP,穿透防火墙。而Remoting可以利用TCP/IP,二进制传送提高效率。 Web 服务是通过XML传输数据,是基于XML的,所以它是跨平台的,通过HTTP协议通信。 而Remoting是基于。.net平台的,传输二进制数据,所以速度快,可以走多种协议。

Web Service通过网络提供服务,信息的传送是XML数据包,是用SOAP封装的,是通过HTTP传输的。

=101.GC是什么? 为什么要有GC?

GC是垃圾收集器。程序员不用担心内存管理,因为垃圾收集器会自动进行管理。要请求垃圾收集,可以调用下面的方法之一:

System.gc() Runtime.getRuntime().gc()

=102.在.net中,配件的意思是?

答:Assembly程序集。(dll.exe)(中间语言,源数据,资源,装配清单)

=103 .net中读写数据库需要用到那些类?他们的作用?

DataSet:数据存储器。

DataAdapter:数据的集合,用语填充。

DataCommand:执行语句命令。

=104.什么是虚函数?什么是抽象函数?

虚函数:没有实现的,可由子类继承并重写的函数。 抽象函数:规定其非虚子类必须实现的函数,必须被重写。 虚函数:在子类可以重新定义。抽象函数:不能实现.

=105.什么是强命名?(什么是强类型系统?)

RTTI:类型识别系统。

Dll+版本号+文化背景+public key Token组合起来就可以生成强命名程序集

=106.<%=...%>与<%#... %>的区别

<% %>是服务器端脚本块;<%# &nbsp; %>是控件的属性被绑定到包含单个记录的表达式

107. 对WebService的体会?

特殊的web应用程序,http协议,80端口,按照soap协议xml协议进行封装,传递的是xml的信息 好处:跨平台,无处不到 缺点:速度慢,服务器压力大

=108.向服务器发送请求有几种方式?

客户端向SERVER请求有: (1)Post以表单形式提交 (2)Get 以QueryString形式提交 get一般为链接方式,post一般为按钮方式

=109.怎样理解静态变量?

静态变量随类的诞生而诞生,随类的销毁而销毁。

static 定义了静态变量,静态变量在类的实例中共享,不管有多少个实例,该类的静态变量始终只有一个。 静态变量很适合做为全局变量使用。静态变量在一定程度上破坏了OO的完整性。

110.你知道Remoting中的Singleton和Singlecall的区别吗? SingleCall 每个传入的消息由新的对象实例提供服务。 Singleton 每个传入的消息由同一个对象实例提供服务。

=111.out和ref的区别

out关键字[输出型参数],指定给定的参数是一个输出参数,它也可以在函数结束时将值返回给调用的变量,out在方法调用时可以不用初始化,在返回时必须初始化。

ref关键字[引用型参数],声明为ref的参数变量传递的是指针[指向实际内存地址]的地址 区别:

1.把未赋值的变量用ref参数时非法的,而out可以.

2.在使用out时,该参数必须是看作还未赋值的,如果对一个已经赋值的变量使用out参数,则该值在函数调用的过程中,存储在该变量中的值会在执行时丢失.

=112.简述 private、 protected、 public、 internal 修饰符的访问权限。 private : 私有成员, 在类的内部才可以访问。 protected : 保护成员,该类内部和继承类中可以访问。 public : 公共成员,完全公开,没有访问限制。 internal: 在同一命名空间内可以访问。

=113.Application、Session、Cookie、ViewState

和Cache等变量的区别是什么?

Application是公共的,所有人都能看到,所以可以用来做聊天室,

session是私有的,每个客户端都存在一个不同的session 生存期正常是20分钟,也可以自己设定为1分钟或2个小时,它存在于服务器端

cookie是保存在本机的文件,记录短小的信息,除非你让cookie过期,否则会一直存在。

viewstate类似于asp中的hidden控件,用来记录页面中的控件的状态的,主要在页面间信息传递时用,

cache是缓存,用来记录已经执行过的一些数据,比如读取数据库,目的是加速显示,减少服务器的负担,过期时间也是可以自己设定的。

=114..什么是装箱和拆箱?

从值类型接口转换到引用类型装箱。从引用类型转换到值类型拆箱。他本质上是值类型在转换到Object时引发的堆寨和堆的一系列移动操作。

=115.接口是否可继承接口? 抽像类是否可实现(implements)接口? 抽像类是否可继承实体类(concrete class)?

接口可以继承接口。抽像类可以实现(implements)接口,抽像类是否可继承实体类,但前提是实体类必须有明确的构造函数。

(实体类就是只有属性且属性与数据库表的列定义一一对应,用途为在各个层次间传递数据的载体)

116.是否可以继承String类?

String类是final类故不可以继承。

=117.数组有没有length()这个方法? String有没有length()这个方法?

数组没有length()这个方法,有length的属性。String有length()这个方法

118.Session有什么重大BUG,微软提出了什么方法加以解决?

是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate server或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。

=119.成员变量和成员函数前加static的作用?

它们被称为常成员变量和常成员函数,又称为类成员变量和类成员函数。分别用来反映类的状态。比如类成员变量可以用来统计类实例的数量,类成员函数负责这种统计的动作。

=120.软件开发过程一般有几个阶段?每个阶段的作用?

需求分析,架构设计,代码编写,QA,部署

=121.需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个.

string inputStr=" xx xx ";

inputStr=Regex.Replace(inputStr.Trim()," *"," ");

=122.什么是XML?

XML即可扩展标记语言。eXtensible Markup Language.标记是指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的文章等。如何定义这些标记,即可以选择国际通用的标记语言,比如HTML,也可以使用象XML这样由相关人士自由决定的标记语言,这就是语言的可扩展性。XML是从SGML中简化修改出来的。它主要用到的有XML、XSL和XPath等。

与ASP相比,主要有哪些进步?

asp解释形,aspx编译型,性能提高,可以跟美工的工作分开进行,更有利于团队开发。 123.列举一下你所了解的XML技术及其应用

xml用于配置,用于保存静态数据类型.接触XML最多的是web Services..和config

=124.用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 一般为3层数据访问层,业务层,表示层。 数据访问层对数据库进行增删查改。

业务层一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。 表示层为了与用户交互例如用户添加表单。

优点: 分工明确,条理清晰,易于调试,而且具有可扩展性。 缺点: 增加成本。

=125: 什么情况用HTML控件,什么情况用WEB控件,并比较两者差别

客户端表现用html控件,如果想和server端交互,那么加上runat=server,它就成了服务器端控件,但它没有web控件的很多方法和属性,如果你需要用到,那么还是用web controls

=126.ADO和的区别:

ADO使用OLE DB接口并基于微软的COM技术,而拥有自己的接口并且基于微软的.NET体系架构。

ADO以Recordset存储,而则以DataSet表示。Recordset看起来更像单表,如果让Recordset以多表的方式表示就必须在SQL中进行多表连接。反之,DataSet可以是多个表的集合。

ADO 的运作是一种在线方式,这意味着不论是浏览或更新数据都必须是实时的。则使用离线方式,在访问数据的时候会利用XML制作数据的一份幅本的数据库连接也只有在这段时间需要在线。

=127.new 关键字用法

(1)new 运算符 用于创建对象和调用构造函数。 (2)new 修饰符 用于向基类成员隐藏继承成员。

(3)new 约束 用于在泛型声明中约束可能用作类型参数的参数的类型。

=128.堆和栈的区别:

栈:由编译器自动分配、释放。在函数体中定义的变量通常在栈上。

=129成员变量和成员函数前加static的作用:

它们被称为常成员变量和常成员函数,又称为类成员变量和类成员函数。

堆:一般由程序员分配释放。用new、malloc等分配内存函数分配得到的就是在堆上。

=130.如何做到编码规范?

方法,类,变量尽量写有意义的单词,符合命名规范。 注释要写清楚,但不要啰唆。

=131.什么是特性,如何自定义特性?

特性是一种特殊的用以申明式编程的机制,特性类型是一族继承自System.Attribute的类型。在编译时特性的使用会被写入元数据中

=132.委托可以理解为指向一个函数的引用。

是,是一种特殊的委托

=133.能用foreach遍历访问的对象需要实现 IEnumerable 接口或声明_GetEnumerator_方法的类型。

IEnumerable接口与 GetEnumerator方法。

134、对数据的并发采用什么办法进行处理较好。

可以控制连接池的连接数量,条件好的话可以用负载平衡

=135、DateTime是否可以为null?-- 34题。

不能,因为其为Struct类型,而结构属于值类型, ***值类型不能为null,只有引用类型才能被赋值null。

=136、 什么叫JIT?什么是NGEN?它们分别有什么限制和好处?

Just In Time 及时编译,它是在程序第一次运行的时候才进行编译,而NGEN是所谓的pre-jit,就是说在运行前事先就将生成程序集的本机镜像,并保存到全局缓存中,适用NGEN可以提高程序集的加载和执行速度,因为它可以从本机映像中还原数代码和数据结构,而不必像jit那样动态生成它们。感觉和缓存的道理大同小异,也就是传说中的预编译。

=137、Finalize()和Dispose()之间的区别?

Finalize()用于释放非托管资源,Dispose()用于释放托管资源

=138.说出你所了解的数据库访问组件(例如ADO,至少4种)

ADO,,MDAC(Microsoft Data Access Components),Microsoft SQL Server OLE DB Provider,Microsoft Jet OLE DB Provider,Desktop Database Drivers ODBC Driver,Visual FoxPro ODBC Driver

139..活动目录的作用。

Active Directory存储了有关网络对象的信息,并且让管理员和用户能够轻松地查找和使用这些信息。Active Directory使用了一种结构化的数据存储方式,并以此作为基础对目录信息进行合乎逻辑的分层组织。

里命名空间的定义;

命名空间是类的逻辑分组,它组织成一个层次结构——逻辑树。这个树的根是System。 在页面中,可以默认的使用某些命名空间中包含的类,称做标准的命名空间。对于其他命名空间,则必须显式地导入

=141. .net中类与对象的关系;

万物都是对象,而类是对象的一个编程语言概念上的描述

=142. IspostBack的作用,当其值为TRUE或FALSE时的作用;

IspostBack可以防止每次加载页面时都绑定一些数据,第一次加载页面时IspostBack的值是false,以后每次加载页面时都是true

=143.:接口和抽象类(abstract)选择使用接口和抽象类的依据是什么?

接口用于规范,抽象类用于共性。接口中只能声明方法,属性,事件,索引器。而抽象类中可以有方法的实现,也可以定义非静态的类变量。抽象类是类,所以只能被单继承,但是接口却可以一次实现多个。抽象类可以提供某些方法的部分实现,接口不可以.抽象类的实例是它的子类给出的。接口的实例是实现接口的类给出的。在抽象类中加入一个方法,那么它的子类就同时有了这个方法。而在接口中加入新的方法,那么实现它的类就要重新编写(这就是为什么说接口是一个类的规范了)。接口成员被定义为公共的,但抽象类的成员也可以是私有的、受保护的、内部的或受保护的内部成员(其中受保护的内部成员只能在应用程序的代码或派生类中访问)。此外接口不能包含字段、构造函数、析构函数、静态成员或常量。

=*144.谈谈final, finally, finalize的区别。

final 用于声明属性,方法和类,分别表示属性不可变,方法不可覆盖,类不可继承。 finally是异常处理语句结构的一部分,表示总是执行。

finalize是Object类的一个方法,在垃圾收集器执行的时候会调用被回收对象的此方法,可以覆盖此方法提供垃圾收集时的其他资源回收,例如关闭文件等

=145.三层架构的分析

MVC(模型-视图-控制器) 视图(View)代表用户交互界面.

模型(Model):就是业务流程/状态的处理以及业务规则的制定,业务模型还有一个很重要的模型那就是数据模型.

控制(Controller)可以理解为从用户接收请求, 将模型与视图匹配在一起,共同完成用户的请求.

146.get 与 post的区别

Get:是以实体的方式得到由请求URI所指定资源的信息,如果请求URI只是一个数据产生过程,那么最终要在响应实体中返回的是处理过程的结果所指向的资源,而不是处理过程的描述。

Post:用来向目的服务器发出请求,要求它接受被附在请求后的实体,并把它当作请求队列中请求URI所指定资源的附加新子项,Post被设计成用统一的方法实现下列功能: 1:对现有资源的解释

2:向电子公告栏、新闻组、邮件列表或类似讨论组发信息。 3:提交数据块

4:通过附加操作来扩展数据库

get是把参数数据队列加到提交表单ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。

147. 如何实现一个自定义类的序列化

答:二进制序列化保持类型保真度,这对于在应用程序的不同调用之间保留对象的状态很有用。例如,通过将对象序列化到剪贴板,可在不同的应用程序之间共享对象。您可以将对象序列化到流、磁盘、内存和网络等等。远程处理使用序列化“通过值”在计算机或应用程序域之间传递对象。

XML 序列化仅序列化公共属性和字段,且不保持类型保真度。当您要提供或使用数据而不限制使用该数据的应用程序时,这一点是很有用的。由于 XML 是一个开放式标准,因此,对于通过 Web 共享数据而言,这是一个很好的选择。SOAP 同样是一个开放式标准,这使它也成为一个颇具吸引力的选择

148. 中内置对象是什么?

在 Web 应用程序运行时, 将维护有关当前应用程序、每个用户会话、当前 HTTP 请求、请求的页等方面的信息。 包含一系列类,用于封装这些上下文信息。

Response 提供对当前页的输出流的访问。您可以使用此类将文本插入页中、编写 Cookie,等等。有关详细信息,请参见 System.Web.UI.Page.Response 属性。 HttpResponse

Request 提供对当前页请求的访问,其中包括请求标题、Cookie、客户端证书、查询字符串等。您可以使用此类读取浏览器已经发送的内容。有关详细信息,请参见 System.Web.UI.Page.Request 属性。

HttpRequest

Context 提供对整个当前上下文(包括请求对象)的访问。您可以使用此类共享页之间的信息。有关详细信息,请参见 System.Web.UI.Page.Context 属性。 HttpContext Server

公开可以用于在页之间传输控件的实用工具方法,获取有关最新错误的信息,对 HTML 文本进

HttpServerUtility

提供对所有会话的应用程序范围的方法和事件的访问。还提供对可用于存储信息的应用程

行编码和解码,等等。有关详细信息,请参见 System.Web.UI.Page.Server 属性。 Application

序范围的缓存的访问。有关详细信息,请参见 应用程序状态。 HttpApplicationState

Session 为当前用户会话提供信息。还提供对可用于存储信息的会话范围的缓存的访问,以及控制如何管理会话的方法。有关详细信息,请参见 会话状态。 HttpSessionState Trace

提供在 HTTP 页输出中显示系统和自定义跟踪诊断消息的方法。有关详细信息,请参见

跟踪。 TraceContext

149、请描述一下.Net架构

Microsoft .NET 框架是生成、部署和运行 Web 服务及应用程序的平台。它提供了一个生产率高且基于标准的多语言环境,用于将现有投资与下一代应用程序和服务集成,同时提供了解决 Internet 规模应用程序的部署和操作难题的灵活性。.NET 框架由三个主要部分组成:公共语言运行库、统一类库的分层集合和称为 的 Active Server Pages 组件化版本'

150、请描述ViewState 与Session有什么区别

ViewState获取状态信息的字典,这些信息使您可以在同一页的多个请求间保存和还原服务器控件的视图状态。

Session 允许通过将对象存储在 Web 服务器的内存中在整个用户会话过程中保持任何对象。

151. 您要创建应用程序用于运行某公司内部的web站点,这个应用程序包含了50个页面。您想要配置这个应用程序以便当发生一个http代码错误时它可以显示一个自定义的错误页面给用户。您想要花

最少的代价完成这些目标,您应该怎么做? 答:在配置文件里配置

<customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> <error statusCode="403" redirect="NoAccess.htm" /> <error statusCode="404" redirect="FileNotFound.htm" />

</customErrors>

=152 什么时候可以用foreach语句代替while循环?

要循环的实现了IEnumerable接口或实现了GetEnumerable方法的类。 不知道循环条件。

=153.什么是友元函数??

页面生命周期页面事件的名称 答: a) b) c) d) e) f) g) h) i) j)

=155..页面缓存数据的几种形式

整页缓存和部分页缓存

=156. 请写出。NET分页的程序思路,或者有什么控件可以直接分页(写出该控件的名称和如何使用该控件)?

a) b) c) d) e) f) g)

157. 白盒测试和黑盒测试

答:黑盒测试:已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。

白盒测试:已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格要求,所有

内部成分是否以经过检查。 确定数据源 查询的字段 查询条件 排序

查询的记录总数 每页显示多少条记录 页面号 初始化对象 导入Viewstate数据

用LoadPostData处理Postback数据 导入对象

RaisePostBackChanged事件 处理客户端PostBack事件 预先呈递对象 保存ViewState 呈递给Html 销毁对象

friendly声明,可以访问protect级别方法

本文来源:https://www.bwwdw.com/article/929m.html

Top