ASP.NET知识总结

1. internal关键字

解:internal 关键字是类型和类型成员的访问修饰符。只有在同一程序集的文件中,内部类型或成员才是可访问的.

 

2. ASP.NET 页面之间传递值的几种方式

解:1. Querystring。

Querystring是一种非常简单的传值方式,其缺点就是会把要传送的值显示在浏览器的地址栏中,并且在此方法中不能够传递对象。如果你想传递一个安全性不是那么太重要或者是一个简单的数值时,用此方法最好不过了。

2. Session变量

使用Session变量传值是一种最常见的方式了,此中方式不仅可以把值传递到下一个页面,还可以交叉传递到多个页面,直至把Session变量的值removed后,变量才会消失。

3. Server.Transfer

虽然这种方法有点复杂,但也不失为一种在页面传值的方式。

3. 简单的C#索引器举例

解:

using System;
using System.Collections;
class MyClass{   
 private string[] data = new string[5];  
 public string this[int index] {
 get { return data[index]; } 
 set { data[index] = value; } }
 }
 class MyClient{
 public static void Main() {
 MyClass mc = new MyClass(); 
 mc[0] = "Rajesh"; 
 mc[1] = "A3-126"; 
 mc[2] = "Snehadara"; 
 mc[3] = "Irla"; mc[4] = "Mumbai";
 Console.WriteLine("{0},{1},{2},{3},{4}", mc[0], mc[1], mc[2], mc[3], mc[4]); }}

 

4. 用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层?

解:一般为3层。
数据访问层,业务逻辑层,表示层。
数据访问层:对数据库进行增删查改。
业务层:一般分为二层,业务表观层实现与表示层的沟通,业务规则层实现用户密码的安全等。
表示层:为了与用户交互。例如用户添加表单。

 

5. 什么叫应用程序域?

解:应用程序域(AppDomain)。可以理解成很多应用程序域都可以运行在同一个.NET的进程中,可以降低系统消耗,同时不同的域之间互相隔离,在安全性方面有保障。另外对于同一个进程内不同域之间的通信也相对简单一点。

AppDomainSetup info = new AppDomainSetup();
info.LoaderOptimization = LoaderOptimization.SingleDomain;
AppDomain domain = AppDomain.CreateDomain("MyDomain", null, info);
domain.ExecuteAssembly("C:\\test\\DomainCom.exe");
AppDomain.Unload(domain);

6. 什么是装箱和拆箱?

解:从值类型转换到引用类型--装箱。

从引用类型转换到值类型--拆箱。

 

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

解:SqlDataAdapter , DataSet ,SqlCommand

private static DataSet SelectRows(
DataSet dataset, string connectionString,string queryString) {    
using (SqlConnection connection = new SqlConnection(connectionString))    {        
SqlDataAdapter adapter = new SqlDataAdapter();        
adapter.SelectCommand = new SqlCommand(queryString, connection);        
adapter.Fill(dataset);       
 return dataset;    }
 }

8. ASP.net的身份验证方式有几种?

解:1. Windows Authentication,包括NTLM和Kerbros

2. Form Authentication。

3. Passport Authentication。需要安装Passport Software Developer Kit.这种认证方式适合于跨站之间的应用,用户只有一个用户名和密码可以访问任何成员站。

 

9. wsdl.exe的使用方式?

解:

wsdl http://hostServer/WebserviceRoot/WebServiceName.asmx?WSDL
(根据指定的XML Web Service生成一个.wsdl文件和以C#语言描述的客户端代理类)
wsdl /out:myProxyClass.cs http://hostServer/WebserviceRoot/WebServiceName.asmx
(根据指定的XML Web Service生成一个以C#语言描述的客户端代理类- myProxyClass.cs)
wsdl /language:VB /out:myProxyClass.vb http://hostServer/WebserviceRoot/WebServiceName.asmx
(根据指定的XML Web Service生成一个以VB语言描述的客户端代理类- myProxyClass.vb)

 

10. struct和class的区别?

解:

  Struct` Class
地址分配
效率
适合对象 大而复杂
类型 值类型 引用类型
拷贝时 创建新结构 复制引用
继承性 不可继承与被继承 可继承,可自定义(sealed)

 

11. abstract class和interface有什么区别?

解:

  abstract class interface
概念 抽象类型 协议
非静态数据成员 可有 不可有
方法默认行为 可有 不可有
与被继承类的关系 is a implement

 

12. .try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候被执行,在return前还是后?

解:会执行,在return前执行。

 

13. C#反射即举例

解:

Reflection,中文翻译为反射。
这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型 (class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息。

(1)使用Assembly定义和加载程序集,加载在程序集清单中列出模块,以及从此程序集中查找类型并创建该类型的实例。
(2)使用Module了解包含模块的程序集以及模块中的类等,还可以获取在模块上定义的所有全局方法或其他特定的非全局方法。
(3)使用ConstructorInfo了解构造函数的名称、参数、访问修饰符(如pulic 或private)和实现详细信息(如abstract或virtual)等。使用Type的GetConstructors或 GetConstructor方法来调用特定的构造函数。
(4)使用MethodInfo了解方法的名称、返回类型、参数、访问修饰符(如pulic 或private)和实现详细信息(如abstract或virtual)等。使用Type的GetMethods或GetMethod方法来调用特定的方法。
(5)使用FiedInfo了解字段的名称、访问修饰符(如public或private)和实现详细信息(如static)等,并获取或设置字段值。
(6)使用EventInfo了解事件的名称、事件处理程序数据类型、自定义属性、声明类型和反射类型等,添加或移除事件处理程序。
(7)使用PropertyInfo了解属性的名称、数据类型、声明类型、反射类型和只读或可写状态等,获取或设置属性值。
(8)使用ParameterInfo了解参数的名称、数据类型、是输入参数还是输出参数,以及参数在方法签名中的位置等。

posted on 2010-09-30 09:10  神奇木马  阅读(691)  评论(0编辑  收藏  举报

导航