定位、通过web调用。Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。
Web Service是一种应用程序,它可以使用标准的互联网协议,像超文本传输协议(HTTP)和XML,将功能纲领性地体现在互联网和企业内部网上。
45.C#说明一下虚函数和接口的区别?
虚函数是动态联编的基础,它是引入派生概念之后用来表现基类和派生类成员函数之间的一种关系的。虚函数在基类中定义,它也是一种成员函数,而且是非静态成员函数。
若一个实例方法的声明中含有 virtual 修饰符,则称该方法为虚拟方法;一个虚拟方法可以由派生类实现。实现所继承的虚拟方法的过程称为重写该方法。
虚函数的限制:
1.虚函数仅适用于有继承关系的类对象, 所以只有类的成员函数才能说明为虚函数.
2.静态成员函数不能是虚函数.
3.内联函数不能是虚函数.
4构造函数不能是虚函数.
5.析构函数可以是虚函数.
接口可以有静态成员、抽象、虚拟成员、属性和事件。实现接口的任何类都必须提供接口中所声明的抽象成员的定义。接口可以要求任何实现类必须实现一个或多个其他接口。
对接口有以下限制:
1.接口可以用任何可访问性来声明,但接口成员必须全都具有公共可访问性。
2.不能向成员或接口自身附加安全性权限。
3.接口可以定义类构造函数,但不能定义实例构造函数。
4.接口不能被实例化
46.什么是ASP.net中的用户控件
答:用户控件就是.ascx扩展名的文件,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以做成用户控件,但是有
一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整.
47.什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱? CTS、CLS和CLR分别作何解释?
答:托管代码:使用CLR编译语言编辑器开发编写的代码就叫托管代码。
装箱和拆箱:是把值类型转换为引用类型的过程,是隐式的,相反的过程就是拆箱,是显式的。
CTS是公共类型系统,它负责类型的映射,确保能两种语言之间能相互调用,譬如说,在C#中,整型是int,vb中整型是integer ,他们之间要实现通信,就通过CLR中的CTS将他们映射成Int32;
CLS是公共语言规范;
CLR公共语言运行库。
强类型系统:每个变量和对象都必须具有申明类型。
48.列举一下你所了解的XML技术及其应用
答:XML应用非常广泛,站与站之间的交流,WEB SERVICE都要用它.
如:序列化数据信息等
49.如何理解委托?
答: 委托类似与函数指针,定义了委托就可以在不调用原方法名称的情况下调用那个方法.
msdn2005中是这样解释的:
委托具有以下特点:
委托类似于 C++ 函数指针,但它是类型安全的。
委托允许将方法作为参数进行传递。
委托可用于定义回调方法。
委托可以链接在一起;例如,可以对一个事件调用多个方法。
方法不需要与委托签名精确匹配。
50.什么是SOAP,有哪些应用。
答:SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个
基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一种语言相互通信。这种相互通信采用的是XML格式的消息。
51.Params是什么含义?
Params是C#中的关键字,采用此关键字可以指定参数数目为可变; 在方法声明中的 params 关键字之后不允许任何其他参数,并且在方
法声明中只允许一个 params 关键字。
如:
public int fConvert(params int[] iParas)
{
}
52. C#中有没有运算符重载?能否使用指针?
有,C#中也有运算符重载,如对运算符“+”进行重载;
C#中也可以使用指针,但要声明为unsafe。
53.Internal修饰符有什么含义?
internal数据访问修饰符,表示对所修饰的成员在当前程序集内可以进行没有任何限制的访问;但在当前程序集外部则不能进行访问,其可访
问性级别低于public ,高于protected。
54. JAVA的代码是半编译半解释的,C#的代码是否也是这样
C#中对于程序代码的处理很类似于Java中的程序代码处理机制;也可以称作半编译半解释,
55. 私有程序集与共享程序集有什么区别?
一个私有程序集通常为单个应用程序所使用,并且存储于这个应用程序所在的根目录或子目录之中。
共享程序集通常存储在全局程序集缓存(Global Assembly Cache)之中。
56. 请解释进程与线程的区别?进程与程序的区别
一般,一个应用程序对应于一个或多个进程,可以把进程看作是该应用程序在操作系统中的标识。
而一个进程通常由多个线程组成,而线程是操作系统为该应用程序分配处理时间的最小单元。
57. CLR与IL分别是什么含义?
CLR:公共语言运行时,类似于Java中的JVM,Java虚拟机;在.Net环境下,各种编程语言使用一种共同的基础资源环境。
CLR将直接与操作系统进行通信,而编程语言(如C#.NET)将尽量避免直接与操作系统直接通信,加强了程序代码的执行安全性,同时它为具体的编程语言提供了许多资源:
面向对象的编程模型(继承、多态、异常处理和垃圾收集等)
安全模型
类型系统
所有.NET基类
许多.NET Framework类
开发、调试和评测(profiling)工具
执行和代码管理
IL到本地代码(IL-to-native)转换器和优化器
IL,中间语言,也称MSIL,微软中间语言。所有.NET源代码(不管用哪种语言编写)在进行编译时都被编译成IL。在应用程序运行时被即时(Just-In-Time,JIT)编译器处理成为机器码,被解释及执行。
58 .请解释ASP。NET中以什么方式进行数据验证
Aps.net 中有非空验证,比较验证,取值范围验证,正则表达式验证及客户自定义验证五大控件,另还有一个集中验证信息处理控件
59(1).WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回。
在web控件发生事件时,客户端采用提交的形式将数据交回服务端,服务端先调用Page_Load事件,然后根据传回的状态信息自动调用服务端事件
自动传回是当我们在点击客户端控件时,采用提交表单的形式将数据直接传回到
务端
只有通过自动传回才能实现服务端事件的机制,如果没有自动回传机制就只能调用客户端事件,而不能调用服务端事件
59(2).WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?
可以调用
例如:
runat=”server” onclick=”clientfunction();”>
59.请描述一下ASP.NET页面的生命周期
1、对象初始化Init事件
2、 加载视图
3、处理回发数据 讲客户端传递到服务器端的数据进行处理
4、加载页面Load
5、回发更改通知RaisePostDataChanged
6、处理回发事件RaisePostBackEvent
7、预呈现PreRender 准备将控件绘制在页面中
8