NET面试笔试题.doc_第1页
NET面试笔试题.doc_第2页
NET面试笔试题.doc_第3页
NET面试笔试题.doc_第4页
NET面试笔试题.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、概述.NET里对 remoting 和 webservice 两项技术的理解和实际中的应用。其实现的原理并没有本质的区别,在应用开发层面上有以下区别:1、Remoting可以灵活的定义其所基于的协议,如果定义为HTTP,则与Web Service就没有什么区别了,一般都喜欢定义为TCP,这样比Web Service稍为高效一些2、Remoting不是标准,而Web Service是标准;3、Remoting一般需要通过一个WinForm或是Windows服务进行启动,而Web Service则需要IIS进行启动。4、在VS.net开发环境中,专门对Web Service的调用进行了封装,用起来比Remoting方便我建议还是采用Web Service好些,对于开发来说更容易控制Remoting一般用在C/S的系统中,Web Service是用在B/S系统中后者还是各语言的通用接口相同之处就是都基于XML为了能清楚地描述Web Service 和Remoting之间得区别,我打算从他们的体系结构上来说起: Web Service大体上分为5个层次: 1. Http传输信道 2. XML的数据格式 3. SOAP封装格式 4. WSDL的描述方式 5. UDDI 总体上来讲,.NET 下的 Web Service结构比较简单,也比较容易理解和应用: 一般来讲在.NET结构下的WebService应用都是基于.net framework以及IIS的架构之下,所以部署(Dispose)起来相对比较容易点. 从实现的角度来讲, 首先WebService必须把暴露给客户端的方法所在的类继承于:System.Web.Services.WebService这个基类 其次所暴露的方法前面必须有WebMethod或者WebMethodAttribute WebService的运行机理 首先客户端从服务器的到WebService的WSDL,同时在客户端声称一个代理类(Proxy Class) 这个代理类负责与WebService服务器进行Request 和Response 当一个数据(XML格式的)被封装成SOAP格式的数据流发送到服务器端的时候,就会生成一个进程对象并且把接收到这个Request的SOAP包进行解析,然后对事物进行处理,处理结束以后再对这个计算结果进行SOAP包装,然后把这个包作为一个Response发送给客户端的代理类(Proxy Class),同样地,这个代理类也对这个SOAP包进行解析处理,继而进行后续操作。 这就是WebService的一个运行过程。 下面对.net Remoting进行概括的阐述: .net Remoting 是在DCOM等基础上发展起来的一种技术,它的主要目的是实现跨平台、跨语言、穿透企业防火墙,这也是他的基本特点,与WebService有所不同的是,它支持HTTP以及TCP信道,而且它不仅能传输XML格式的SOAP包,也可以传输传统意义上的二进制流,这使得它变得效率更高也更加灵活。而且它不依赖于IIS,用户可以自己开发(Development)并部署(Dispose)自己喜欢的宿主服务器,所以从这些方面上来讲WebService其实上是.net Remoting的一种特例。ASP.NET Web 服务基础结构通过将 SOAP 消息映射到方法调用,为 Web 服务提供了简单的 API。通过提供一种非常简单的编程模型(基于将 SOAP 消息交换映射到方法调用),它实现了此机制。ASP.NET Web 服务的客户端不需要了解用于创建它们的平台、对象模型或编程语言。而服务也不需要了解向它们发送消息的客户端。唯一的要求是:双方都要认可正在创建和使用的 SOAP 消息的格式,该格式是由使用 WSDL 和 XML 架构 (XSD) 表示的 Web 服务合约定义来定义的。. NET Remoting 为分布式对象提供了一个基础结构。它使用既灵活又可扩展的管线向远程进程提供 .NET 的完全对象语义。ASP.NET Web 服务基于消息传递提供非常简单的编程模型,而 .NET Remoting 提供较为复杂的功能,包括支持通过值或引用传递对象、回调,以及多对象激活和生命周期管理策略等。要使用 .NET Remoting,客户端需要了解所有这些详细信息,简而言之,需要使用 .NET 建立客户端。.NET Remoting 管线还支持 SOAP 消息,但必须注意这并没有改变其对客户端的要求。如果 Remoting 端点提供 .NET 专用的对象语义,不管是否通过 SOAP,客户端必须理解它们。2、详细讲解Webservices技术Web Service是基于网络的、分布式的模块化组件,它执行特定的任务,遵守具体的技术规范,这些规范使得Web Service能与其他兼容的组件进行互操作21。它可以使用标准的互联网协议,像超文本传输协议HTTP和XML,将功能体现在互联网和企业内部网上。Web Service平台是一套标准,它定义了应用程序如何在Web上实现互操作性。可以使用任何语言,在任何平台上写WebService。Web Service平台需要一套协议来实现分布式应用程序的创建。任何平台都有它的数据表示方法和类型系统。要实现互操作性,Web Service平台必须提供一套标准的类型系统,用于沟通不同平台、编程语言和组件模型中的不同类型系统。目前这些协议有:1.XML和XSD可扩展的标记语言XML是Web Service平台中表示数据的基本格式。除了易于建立和易于分析外,XML主要的优点在于它既与平台无关,又与厂商无关。XML是由万维网协会(W3C)创建,W3C制定的XML SchemaXSD定义了一套标准的数据类型,并给出了一种语言来扩展这套数据类型Web Service平台是用XSD来作为数据类型系统的。当你用某种语言如VB.NET或C#来构造一个Web Service时,为了符合Web Service标准,所有你使用的数据类型都必须被转换为XSD类型。如想让它使用在不同平台和不同软件的不同组织间传递,还需要用某种东西将它包装起来。这种东西就是一种协议,如 SOAP。2.SOAPSOAP即简单对象访问协议(Simple Object Access Protocol),它是用于交换XML编码信息的轻量级协议。它有三个主要方面:XML-envelope为描述信息内容和如何处理内容定义了框架,将程序对象编码成为XML对象的规则,执行远程过程调用(RPC)的约定。SOAP可以运行在任何其他传输协议上。例如,你可以使用 SMTP,即因特网电子邮件协议来传递SOAP消息,这可是很有诱惑力的。在传输层之间的头是不同的,但XML有效负载保持相同。Web Service 希望实现不同的系统之间能够用“软件-软件对话”的方式相互调用,打破了软件应用、网站和各种设备之间的格格不入的状态,实现“基于Web无缝集成”的目标。3.WSDLWeb Service描述语言WSDL就是用机器能阅读的方式提供的一个正式描述文档而基于XML的语言,用于描述Web Service及其函数、参数和返回值。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的。4.UDDIUDDI 的目的是为电子商务建立标准;UDDI是一套基于Web的、分布式的、为Web Service提供的、信息注册中心的实现标准规范,同时也包含一组使企业能将自身提供的Web Service注册,以使别的企业能够发现的访问协议的实现标准。5.远程过程调用RPC与消息传递Web Service本身其实是在实现应用程序间的通信。我们现在有两种应用程序通信的方法:RPC远程过程调用和消息传递。使用RPC的时候,客户端的概念是调用服务器上的远程过程,通常方式为实例化一个远程对象并调用其方法和属性。RPC系统试图达到一种位置上的透明性:服务器暴露出远程对象的接口,而客户端就好像在本地使用的这些对象的接口一样,这样就隐藏了底层的信息,客户端也就根本不需要知道对象是在哪台机器上。微软的.NET技术应该算是时下最好的Web Service 开发技术。.NET平台不仅延续了微软一贯的编程风格,而且还增加了许多支持Web 服务的关键性技术,使得.NET在操作的简单性和执行的稳定性,高效性上达到了一个非常好的结合。微软的Visual Studio.NET便是一个便于 Web 服务的开发工具。微软的目标是,将其新编程语言C#作为Web Service的首选语言。.Net Remoting.Net Remoting是.Net环境下的另外一种分布式处理方式。从某种意义上来说,Remoting就是DCOM的一种升级,它改善了很多功能,并极好的融合到.Net平台下。Microsoft .NET Remoting 提供了一种允许对象通过应用程序域与另一对象进行交互的框架22。在Remoting中是通过通道(channel)来实现两个应用程序域之间对象的通信的。2、什么是code-behind技术对于每一个Aspx文件可以相对应一个CS文件类,aspx继承自对应的CodeBehind类,在编译时,CodeBhind类编译到webui工程对应的dll中,而aspx页面中的内含代码和aspx一起编译到temporary.dll中,被客户端浏览器访问。3、概述三层结构体系webUI层:封装基本的页面布局形式,即表示层DataAccess(DAO)层:数据访问层,利用各种相关的技术,与底层数据库进行交互Business层:业务逻辑层,封装整个程序的业务逻辑代码,主要与DAO层相关联Model 层: 封装程序领域对象,该层可以在上面的三层之间进行很好的交互这只是基本的三层架构设计,如果利用设计模式,则可以在此基础上进行灵活的变化4、如何实现MVC模式,举例说明! 在A 中实现MVC模式,相对于 JAVA没有那么快捷,但是仍是可以实现的且由于代码隐藏和事件驱动得引入,意义不时很大,具体的实现,可以利用HttpHandler,如此,则应在Web.config文件中配置相关的节点/Author:renfuming 5、View State 的作用和实现方式?设置是否要保存控件的状态,其功能的实质是利用隐藏表单域实现 如果设为false且在Page_Load中没有重新绑定数据的话,只要页面一刷新,控件的内容就没了 如果设为true,则页面会保存控件的内容 在一些不需要保存状态的页面中最好把它设为false,为什设为true会增加服务器的负担 隐藏域6、在ASP.net中可以利用哪些对象存储状态?几种维持状态的对象应用场合以及优缺点?主要用Application,session,viewstate,cookie,cache。 Application:应用程序级别的共享变量,优点是应用程序一开启该站点都能访问此变量。缺点:所有对此进行写入操作要加锁,由此共享变量锁带来的内存开销只有此应用程序关闭才能结束。 Session:维护用户个人的状态信息,优点:个人所从事活动,如登录信息,购物车信息等较安全而且又服务器维护较稳定。缺点:维持http连接的sessionID仍然有缺陷,同时为每个用户维护状态信息,服务器内存开销很大。 Viewsate:如4所说,在一些场合能体现它的特点,但同时带来的缺点:影响整个页面的速度以及隐藏字段未加密。 Cookie:优点是将状态信息维护在客户端的一个文本文件,不需要耗用服务器的内存,是目前各大网站主要采用的方式。 缺点:由于其将状态信息存贮在客户端,很可能由别人破解此文件而获得此人的个人隐私和机密信息。其受限大小为4K. Cache:优点是提供的此功能很强大,如文件缓存依赖、API依赖、数据库依赖以用于存贮数据变化而更换缓存状态数据。提供存储周期从httpcontext到httpruntime。缺点:耗用服务器内存。7、.简单说说 ASP.NET 中基于表单的身份验证方式的用法?配置文件提供对站点那些目录的保护以及登录页面,当访问该目录的文件时,如果用户未认证通过,将转入登录页面, 用户输入用户名和密码,将此参数传入认证模块authentication,该模块负责认证,如果通过将isauthentication设置为true,并返回用户的identity对象,此时页面将转入初始请求页,如果未通过,将不允许访问此目录。8、是否了解 URL Rewrite?请简要说明其原理和在 ASP.NET 中的实现方式?一般放在httpmodule中applicatioin_request事情中,当每次http请求,将此URL定位到重写的url函数中并返回重写后的URL地址。主要用于当我们站点板块移动时由于链接仍然指向旧地址,故可以重定向到新的地址,当然查询参数也可以重写。url-mapping配置9、在超过10万条记录的页面显示时,你如何处理分页,有多少种替代方案?一般根据页面选择的第几页PageIndex,以及服务端配置文件配置的每页行数PageSize,通过传入参数传入存贮过程,由其返回相应行数pagesize的记录。即每一页数据都由服务端返回。可以利用缓存Cache,将数据一次加载,在结合2.0中数据库缓存方式,跟踪数据库表的信息的变化,自动更新缓存信息 对于数据分野页,也可以利用gridview的数据邦定控件的自动分页的方式10、数据库某表主键自增,是很常见的情形。在ASP. Net或C#程序中,要求向该表插入一条记录,并马上从该表查出这条记录。不能使用时间戳,请问你如何实现?插入一条记录会返回identity,通过它就是该记录的主键,再select一下就可以了11、Xhtml的三种DOCTYPE分别有什么含义?请说明。简单说明各个情况下,那些标签可以使用,那些不可以使用?XHTML 1.0 提供了三种DTD声明可供选择:A、W3C规范过渡的(Transitional):要求非常宽松的DTD,它允许你继续使用HTML4.01的标识(但是要符合xhtml的写法)。完整代码如下:B、严格的(Strict):要求严格的DTD,你不能使用任何表现层的标识和属性,例如。完整代码如下:C、框架的(Frameset):专门针对框架页面设计使用的DTD,如果你的页面中包含有框架,需要采用这种DTD。完整代码如下:12、请举例说明XHtml代码规范,越多越好。a.所有的标记都必须要有一个相应的结束标记以前在HTML中,你可以打开许多标签,例如和而不一定写对应的和来关闭它们。但在XHTML中这是不合法的。XHTML要求有严谨的结构,所有标签必须关闭。如果是单独不成对的标签,在标签最后加一个/来关闭它。例如: b.所有标签的元素和属性的名字都必须使用小写与HTML不一样,XHTML对大小写是敏感的,和是不同的标签。XHTML要求所有的标签和属性的名字都必须使用小写。例如:必须写成 。大小写夹杂也是不被认可的,通常dreamweaver自动生成的属性名字onMouseOver也必须修改成onmouseover。c.所有的XML标记都必须合理嵌套同样因为XHTML要求有严谨的结构,因此所有的嵌套都必须按顺序,以前我们这样写的代码: 必须修改为: 就是说,一层一层的嵌套必须是严格对称。d.所有的属性必须用引号括起来在HTML中,你可以不需要给属性值加引号,但是在XHTML中,它们必须被加引号。例如: 必须修改为: 特殊情况,你需要在属性值里使用双引号,你可以用,单引号可以使用',例如: e.把所有和&特殊符号用编码表示任何小于号(),不是标签的一部分,都必须被编码为& g t ; 任何与号(&),不是实体的一部分的,都必须被编码为& a m p; 注:以上字符之间无空格。f.给所有属性赋一个值XHTML规定所有属性都必须有一个值,没有值的就重复本身。例如: 必须修改为: g.不要在注释内容中使“-”“-”只能发生在XHTML注释的开头和结束,也就是说,在内容中它们不再有效。例如下面的代码是无效的: 用等号或者空格替换内部的虚线。 以上这些规范有的看上去比较奇怪,但这一切都是为了使我们的代码有一个统一、唯一的标准,便于以后的数据再利用。13、客户端与浏览器:如果让你做一个TreeView控件,你的思路我会采用javascript来做,主要采用htc。 数据通过XML. 通过htc操作XML并定义一些方法如:load、addnode、deletenode、updatenode、selectednode等方法一些属性如对图标、节点位置、节点前复选框等属性,也会提供一些默认事件如修改节点前后刷新等。14、谈谈论坛聊天室IM和各种网站程序的交互与刷新思路的差异与共同点。15、你用过哪些版本控制工具-各位同学兄弟可以根据自己的实际情况,谈论一些自己在使用这些工具时所遇到的问题以及体会TFS(ASP.Net)、cvs、svn16、 在开发中你利用那些工具进行单元测试和模块测试NUNIT和PDM.页面测试 httpunuit17、如何进行Bug管理由一个BUG跟踪平台,提供该程序的各个模块的BUG,以及级别,以及解决时间等信息18、如何生成和管理开发文档一般用NDOC来生成文档,大部分文档主要还是Word为主。主要是各个模块以及版本的控制等19、谈谈对WSE的认识。目前Web Service广泛采用Https来保障安全,但是该方法也有很多的缺点,尤其是应用于现在越来越复杂的Web Service安全需求。a.Https提供的是点对点安全保护,而Web Service的特点就是消息往往就要经过多个中介才能到达最终的服务提供方,每个中介还有可能对消息做出些处理,也就是说它需要的是端到端的保护。这显然是Https所不能提供的。b.Https是在传输层提供的安全,而不是在消息层面,也就是只有在传输的过程中才有消息才是安全的(加密的),而一旦到达了终点就是明文的了。比如可以从消息队列中将重要的信息窃取出来。c.在Https的建立完共享密钥后,传递消息的时候并没有使用数字签名技术,所以也就无法得到抗否认性的能力。而这又是在电子商务中不可豁缺的。d.由于Https提供的是传输层的安全,当然也就不可能达到消息安全所需要的灵活性的要求。比如加密消息中的部分元素;用不同的密钥加密消息的不同部分,从而让不同的消息接受者查看与之对应的信息。因此,为了适应Web Service对安全的特殊要求,IBM和MS等公司共同制定了WS-Security规范。重新回顾安全问题的三个概念:Confidentiality(机密性), Integrity(完整性), Authentication(身份鉴别),在Web Service使用SOAP(XML 格式)作为消息传输协议的背景下,分别产生了XML Digital Signature,XML Encryption和SAML(XML格式的Security Token), 而WS-Security则是如何将他们组合起来以满足Web Service安全需求的一套规范Web Services Enhancements 2.0 for Microsoft .NET (WSE)是一个用来建设Web服务的.NET类库,它支持最新的Web服务协议,包括WS-Security、WS-SecureConversation、WS-Trust、WS-Policy、WS-SecurityPolicy、WS-Addressing和 WS-Attachments。 WSE可使开发人员跨安全平台建设可升级的、安全的Web服务。它支持用传输的方式发送SOAP消息,而不是HTTP。另一个特点是具有建立SOAP路由器的功能,SOAP消息被发送给SOAP路由器,路由器再将工作交付给托管该服务的Web服务器。20、如果你是一位软件架构师,您将如何去搭建一个符合n-tie的架构?并请描述一下您搭建的每一层的作用。(注意:请您考虑项目中有WebService的情况)主要根据实际情况来决定搭建的层数以及各层的规格。 一般情况下,可如下搭: 数据层:主要提供数据服务,该层继承实体的接口并定制自己的数据提取和存储。并根据数据库类型如sqlserver、oracle等来建立此层服务。执行逻辑我个人偏好采用存贮过程。 业务层:由于定制的实体的属性和操作实体的方法已由数据层获得和执行,故业务逻辑组件对此实体进行组合以满足上层对业务逻辑组件的调用,webservice也是建在此层,以用于提供数据服务和逻辑执行。表示层:一般定制不同的容器控件,以用于加载从业务层不同类型的数据便于呈现。当然也要此层的风格以及各种显示设置,webservice显示页面建在层,通过加载对指定目录的webservice提供的方法用于呈现。21、A中的内建对象Page对象:Web Form 网页在执行的时候会被编译成Page 对象,Page对象通知来设置与网页有关的属性、方法和事件; Response对象:用来决定服务器端在什么时候或如何输出数据到客户端; Request对象:用来捕获由客户端返回服务器的数据; Server对象:提供服务器端最基本的属性和方法; Application对象:用来记录不击客户端共享的变量; Session对象:用来记录各客户端的专用变量; Cookies对象:为Web应用程序保存访问者相关信息22、写出global.asax文件的主要用途?作用和asp的global.asa一样,它可以使我们执行应用程序一层事件的代码,如:application_start等等,使你可以在这些事件中作一些自定义的处理;也可以定义应用程序一层的变量,如:Session等,这在整个应用程序中起作用。 23、列出web.config的常用的配置段,并对每个配置段进行简要的说明。Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式),它可以出现在应用程序的每一个目录中。当你通过VB.NET新建一个Web应用程序后,默认情况下会在根目录自动创建一个默认的 Web.config文件,包括默认的配置设置,所有的子目录都继承它的配置设置。如果你想修改子目录的配置设置,你可以在该子目录下新建一个Web.config文件。它可以提供除从父目录继承的配置信息以外的配置信息,也可以重写或修改父目录中定义的设置。 在运行时对Web.config文件的修改不需要重启服务就可以生效(注:processModel 节例外)。当然Web.config文件是可以扩展的。appSettings包含自定义应用程序设置。system.web 系统配置compilation动态调试编译设置customErrors自定义错误信息设置authentication身份验证,此节设置应用程序的身份验证策略。authorization授权, 此节设置应用程序的授权策略.24、ASP.NET中的组件相对于ASP的组件部署方面有什么优点?和asp的最大区别在于编程思维的转换,而不仅仅在于功能的增强。asp使用vbs/js这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: a、代码逻辑混乱,难于管理:由于asp是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 b、代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,更别提代码重用了。 c、弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。 以上是语言本身的弱点,在功能方面asp同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上php/jsp,其次就是缺乏完善的纠错/调试功能,这点上asp/php/jsp差不多。那么,有哪些改进呢? 摆脱了以前asp使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括c+,vb , js等等,当然,最合适的编程语言还是ms为.net frmaework专门推出的c#(读csharp),它可以看作是vc和java的混合体吧,尽管ms自己讲c#内核中更多的象vc,但实际上我还是认为它和java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的asp的那些弱点。封装性使得代码逻辑清晰,易于管理,并且应用到上就可以使业务逻辑和html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且c#和c+、java一样提供了完善的调试/纠错体系:a、经过解释的语言有两个缺点,一是缺乏强类型,二是缺乏一个编译环境,这将导致性能和伸缩性的问题 b、asp并没有为应用程序提供一个固有的结构,将代码和页面混合在一起使代码变得很复杂,源文件变的很大,结构和代码复用很难,维护也很难。 c、ASP中无论工作多简单都必须在ASP中编写代码完成绝大多数工作,如验证表单字段等,其他还包括告诉缓存页面内容,保持表单状态等,甚至添加新HTML控件也需要写原始HTML。 d、浏览器兼容性。移动设备访问站点,必须编写代码检测这些设备,同时为其提供合适内容。 e、标准兼容性,XHTML被越来越多人接受,XML和XSL/T也得到广泛应用,并且与移动设备进行通信还应该支持WML,这意味着ASP应用不仅要利用现有标准工作,还要易于升级以支持将来的标准 ASP.NET四个主要目标 使代码更清晰 提高可部署性,可伸缩性,安全性以及可靠性 为不同浏览器和设备提供更好的支持 支持一种全新的web应用程序。25、简述一下webservice技术,在何种场合下适合使用这项技术? Web Service 是一种新的web应用程序分支,他们是自包含、自描述、模块化的应用,可以发布、定位、通过web调用。Web Service可以执行从简单的请求到复杂商务处理的任何功能。一旦部署以后,其他Web Service应用程序可以发现并调用它部署的服务。Web Service是一种应用程序,它可以使用标准的互联网协议,像超文本传输协议(HTTP)和XML,将功能纲领性地体现在互联网和企业内部网上。可将Web服务视作Web上的组件编程。P2P 跨平台技术性应用 Web Services扮演什么角色?Web services角度所预示的四个趋势:内容更加动态:一个web service必须能合并从多个不同源来的内容,可以包括股票,天气,新闻等,在传统环境中的内容,如存货水平,购物订单或者目录信息等,都从后端系统而来带宽更加便宜:web services可以分发各种类型的内容(音频,视频流等)存储更便宜: web services必须能聪明地处理大量数据,意味着要使用数据库,LDAP目录,缓冲,和负载平衡软件等技术保持可扩展能力普遍式计算更重要:web services不能要求客户使用某一版本的windows的传统浏览器,必须支持各种设备,平台,浏览器类型,各种内容类型。两种重要技术要达到这样的目标,Web services要使用两种技术:XML XML是在web上传送结构化数据的伟大方式,Web services要以一种可靠的自动的方式操作数据,HTML不会满足要求,而XML可以使web services十分方便的处理数据,它的内容与表示的分离十分理想SOAP SOAP使用XML消息调用远程方法,这样web services可以通过HTTP协议的post和get方法与远程机器交互,而且,SOAP更加健壮和灵活易用。26、什么是ASP.net中的用户控件答:用户控件就是.ascx扩展名的东西喽,可以拖到不同的页面中调用,以节省代码.比如登陆可能在多个页面上有,就可以做成用户控件,但是有一个问题就是用户控件拖到不同级别的目录下后里面的图片等的相对路径会变得不准确,需要自已写方法调整.27、什么是SOAP,有哪些应用。答:SOAP(Simple Object Access Protocol )简单对象访问协议是在分散或分布式的环境中交换信息并执行远程过程调用的协议,是一个基于XML的协议。使用SOAP,不用考虑任何特定的传输协议(最常用的还是HTTP协议),可以允许任何类型的对象或代码,在任何平台上,以任何一直语言相互通信。这种相互通信采用的是XML格式的消息,具体请看:/2521621.html、28、C#中有没有运算符重载?能否使用指针?有,C#中也有运算符重载,如对运算符“+”进行重载;C#中也可以使用指针,但要声明为unsafe。29、Internal修饰符有什么含义?internal数据访问修饰符,表示对所修饰的成员在当前程序集内可以进行没有任何限制的访问;但在当前程序集外部则不能进行访问,其可访问性级别低于public ,高于protected。30、请解释ASP。NET中以什么方式进行数据验证A 中有非空验证,比较验证,取值范围验证,正则表达式验证及客户自定义验证五大控件,另还有一个集中验证信息处理控件31、WEB控件可以激发服务端事件,请谈谈服务端事件是怎么发生并解释其原理?自动传回是什么?为什么要使用自动传回。在web控件发生事件时,客户端采用提交的形式将数据交回服务端,服务端先调用Page_Load事件,然后根据传回的状态信息自动调用服务端事件自动传回是当我们在点击客户端控件时,采用提交表单的形式将数据直接传回到务端只有通过自动传回才能实现服务端事件的机制,如果没有自动回传机制就只能调用客户端事件,而不能调用服务端事件32、WEB控件及HTML服务端控件能否调用客户端方法?如果能,请解释如何调用?可以调用例如:33、请解释ASP。NET中的web页面与其隐藏类之间的关系?一个ASP.NET页面一般都对应一个隐藏类,一般都在ASP.NET页面的声明中指定了隐藏类例如一个页面Tst1.aspx的页面声明如下Codebehind=Tst1.aspx.cs 表明经编译此页面时使用哪一个代码文件Inherits=T1.Tst1 表用运行时使用哪一个隐藏类34、您需要创建一个ASP.NET应用程序,公司考虑使用Windows身份认证。所有的用户都存在于AllWin这个域中。您想要使用下列认证规则来配置这个应用程序:a、 匿名用户不允许访问这个应用程序。b、 所有雇员除了Tess和King都允许访问这个应用程序。请问您应该使用以下哪一个代码段来配置这个应用程序?( A )A. 0,这时,服务器运行Select * from 表名 where 字段=444 and user0这样的查询,当然,这个语句是运行不下去的,肯定出错,错误信息如下:错误类型:Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)MicrosoftODBC SQL Server DriverSQL Server将 nvarchar 值 sonybb 转换为数据类型为 int 的列时发生语法错误。39、Session有什么重大BUG,微软提出了什么方法加以解决?答:是iis中由于有进程回收机制,系统繁忙的话Session会丢失,可以用Sate server或SQL Server数据库的方式存储Session不过这种方式比较慢,而且无法捕获Session的END事件。40、请简单介绍SOA什么是服务?如前所述,在一个典型的业务环境里,服务意味着业务函数、业务事务和系统服务。业务函数可能是 getStockQuote、getCustomerAddress 或 checkCreditRating。业务事务可能是 commitInventory、sellCoveredOption 或 scheduleDelivery。系统服务可能是 logMessageIn、getTimeStamp 或 openFile。请注意各种类型服务之间的区别。从应用程序的角度来看,业务函数实际上是原子的非系统函数。业务事务很像是调用应用程序的简单函数,但是它们可能是作为自己的事务的上下文所包含的复合函数来实现的。它们可能包括多个底层函数,这些底层函数对调用者来说是透明的。系统函数是能够从诸如 Windows 或者 Linux 这样的特定平台中抽象出来的广义函数。应用程序框架可能提供像 openFile 这样的广义函数来有效地虚拟化数据源,从而可以在不考虑真实数据源的类型和位置的情况下使用这类函数。 Web 服务的出现产生了根本的改变,因为很多 Web 服务项目的成功显示这种技术事实上确实存在,借此您可以实现真正的面向服务的体系结构。它使您又往回走了一步,不仅分析您的应用程序的体系结构,而且还要分析您正设法解决的基本业务问题。从业务的角度来看,它不再是一个技术问题,而是要开发一种应用程序体系结构和框架,可以在其中定义业务问题,还可以以一致的可重复的方式来实现解决方案。 不过,首先必须理解 Web 服务并不等同于 面向服务的体系结构。Web 服务是包括 XML,SOAP,WSDL 和 UDDI 在内的技术的集合,它使您能够针对特定的消息传递和应用程序集成问题构建编程解决方案。随着时间的推移,您有理由相信这些技术将逐渐成熟并最终为更好、更有效、更健壮的技术所取代,但是,就目前的情况而言,它们可以发挥作用。至少,它们是 SOAs 能够最终实现这种观念的证明。那么,面向服务的体系结构实际上是由什么组成的呢? SOA 只不过是一种体系结构。它不是任何诸如 Web 服务这样的特定技术的集合;而是超越它们的,在理想的情况下,是完全独立于它们的。在业务环境中,SOA 的纯粹的体系结构定义可能会是这样的“一种应用程序体系结构,在这种体系结构中,所有功能都定义为独立的服务,这些服务带有定义明确的可调用接口,可以以定义好的顺序调用这些服务来形成业务流程”。请注意这里的表述: 1. 所有功能都定义为服务。这仅仅包括业务功能、由底层功能组成的业务事务和系统服务功能。这将会产生粒度问题,后面我们将对此进行讨论。 2. 所有的服务都是独立的。它们就像“黑匣子”一样运行:外部组件既不知道也不关心它们如何执行它们的功能,而仅仅关心它们是否返回期望的结果。 3. 在其最一般的意义上来说,接口是可调用的;也就是说,在体系结构的层面上,它们究竟是本地的(在本系统内)还是远程的(在直接系统外)、是用什么互连 Scheme 或协议来调用或需要什么样的基础架构组件来连接,都是无关紧要的。服务可能是在相同的应用程序中,也可能是在公司内部网内完全不同的系统上的不对称多处理器的不同地址空间中,还有可能是在用于 B2B 配置的合作伙伴的系统上的应用程序中。 在所有这些表述中,接口是最关键的,同时也是调用应用程序关注的焦点。它定义了必需的参数和结果的类型;因而,它定义了服务的类型,而不是实现服务的技术。系统的责任是实现和管理服务的调用,而不是调用应用程序。这使得可以认识到两个关键的特征:其一,服务是真正独立的;其二,它们是可以管理的。管理包括许多功能,其中有: 1. 安全性请求的授权、加密和解密(在需要时)、确认等等 2. 部署出于性能、可用性冗余或其他方面的原因,允许服务在网络内重新部署(移动) 3. 日志用于审核、测量等等 4. 动态重新路由用于故障排除(fail over)或负载平衡 5. 维护管理服务的新版本 41、什么是ajax技术,请简单介绍自从开始 Web 编程以来,在 Web 应用程序和桌面应用程序之间一直存在着许多取舍。例如,人们通常认为

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论