ASP.NET教程之网高低载和上传数据(二) Montaque(原作...
呵呵,那你就关注微软的招聘信息以及别人的招聘经验啊,还有也不一定去做技术的,你如果真的想去就多了解了解。(其实我的意思是说想到微软做技术是很不容易的。网高低载和上传数据(二)Montaque(原作)上一次先容了WebClient的一些下载和上传数据的办法,明天侧重看一下WebRequest和WebResponse两种我们会见Internet经常使用的类,严厉说,WebRequest是一个笼统基类,我们一样平常用它的衍生类HttpWebRequest和FileWebRequest,FTP的会见必要手动注册,详细看前面的拔出协定。
从逻辑角度上讲,Netclasses包括三个层:哀求/呼应层、使用协定层和传输层,顺次睁开,从使用程序到收集。WebRequest和WebResponse类代表哀求/呼应层。HTTP、TCP和UDP类构成了使用协定层,而套接字存在于传输层中。WebRequest/WebResponse和HTTP能够在System.Net称号空间中找到,而TCP/UDP和套接字则处在System.Net.Sockets称号空间中,包含也经常使用的UDPClient、TCPCLient。
WebRequest和WebResponse(哀求/呼应模子)
哀求/呼应模子位于顶部,供应一种复杂的体例会见Web上的资本。WebRequest是.NET框架的用于会见Internet数据的哀求/呼应模子的笼统基类。利用该哀求/呼应模子的使用程序能够用协定不成知的体例从Internet哀求数据,甚么意义?就是协定细。
这两品种供应了一种会见网上资本的一样平常体例。WebRequest暗示一个收集哀求,包括诸如RequestURI、Headers、Credentials和ContentType等属性。WebRequest上的次要办法有GetRequestStream、GetResponse和它们的异步办法Begin/EndGetRequestStream和Begin/EndGetResponse。GetRequestStream用于猎取流以便将数据上载到服务器。GetResponse用于猎取服务器前往的呼应工具。WebResponse暗示从处置该哀求的服务器吸收回的呼应。其关头属性有ContentLength、ContentType、headers、ResponseURI和Status。WebResponse上最经常使用的办法是GetResponseStream,它用于从服务器读取(下载)数据。
当对WebRequest.GetResponse举行挪用时,一般收回实践的收集哀求。
这个示例显现怎样猎取一个Web页并将其内容输入:
DimurlAsNewUri("http://www.yahoo.com")‘界说一个URI
DimReqAsWebRequest
Req=WebRequest.Create(url)
DimRespAsWebResponse
Try
Resp=Req.GetResponse‘取得一个呼应
CatchexcAsException
MsgBox(exc.Message)
EndTry
DimnetStreamAsStreamReader
netStream=NewStreamReader(Resp.GetResponseStream)
Debug.WriteLine(netStream.ReadToEnd)
固然,下面的例子只是一个复杂的操纵,能够前往一个流式的数据。上面充实发掘一下它们的上风(与WebClient比拟)。
可拔出协定
当某个使用程序仅仅利用WebRequest和WebResponse类时,无需修正使用程序的任何代码就能够“拔出”和利用新的协定。注册一个带WebRequestFactory的URI形式在程序的延续工夫内拔出协定撑持。注册是经由过程挪用WebRequestFactory.Register()办法完成的。关于HTTP协定,这类办法是从外部挪用的,因而它被默许注册;只管云云,在未来能够完成和注册恣意数量的其他协定。固然,因为Internet上的协定数目伟大,这类模子并非对一切的情形都幻想。那些“饶舌”的或别的排挤哀求/呼应模子的协定大概会在TCP或UDP类中更好地实行,大概在某些情形下会在Sockets类中更好地实行。有关HTTP方面的操纵我们可使用HttpWebRequest。
上面申明几个详细成绩:
1.程序分块
当使用程序必要发送或吸收数据,而数据的正确巨细鄙人载/上载入手下手时还未知时,程序分块是有效的。当基于其他使用程序或服务器逻辑正在创立所会商的数据时,利用程序分块手艺是最广泛的。要发送分块的数据,应当将WebRequest转换为HttpWebRequest而且将HttpWebRequest.SendChunked的属性设置为TRUE。假如间接用HttpWebRequest天然就免了:)
2.HTTP管道手艺
管道手艺是HTTP1.1的一项功效,它同意Netclasses经由过程耐久性毗连向后端服务器发送多个HTTP哀求,而无需在收回下次哀求之前守候来自服务器的呼应。这会明显影响功能,由于从服务器哀求多个资本的使用程序不会被堵塞而守候某个特定资本(多是服务器上一个十分耗时的操纵,如数据库查找)。
3.身份考证
Netclasses撑持各类客户机身份考证机制,包含“择要”、“基础”、Kerberos、NTLM和“定制”。身份考证是经由过程在作出哀求前对WebRequest.Credentials工具举行设置来到达的。在“择要”和“基础”情形下,会指定用户名和口令。关于NTLM或Kerberos,则利用Windows平安机制,而且Credential工具大概能够被设置为用户名、口令和域的分离,大概能够哀求利用体系默许值。
4.代办署理撑持
在Netclasses中的HTTP代办署理撑持能够在每一个哀求的基本长进行把持,大概能够一次全局性地设置它,用于使用程序的保存期。如许仿佛就能够考证Proxy是否是收费;)
总结:
概述了一下会见Internet的别的一种办法,WebresponseWebRequest,和接纳它的一些上风。详细例子和图解参考:http://www.microsoft.com/china/msdn/library/techart/pdc_websvc.ASP很不错的一篇文章。
<
http://www.ckuyun.com/
数据挖掘有点高深的,主要估计就是使用一些算法提取一些实用的数据。学好数据挖掘的话可以应聘baidu或者google,但是一般人家对算法的要求听高的。你最好还是学点应用型的吧。这种主要是研究型的。 ASP.net1.1和2.0在程序上的语法也有很大不同,现在2.0属于新出来的,不知道半年后会不会有3.0(说笑一下)。Windows2003系统自动支持ASP和ASP.net环境,不用安装任何程序。Asp.net属于编译语言。ASP的最大不同(ASP属于解释语言)。 ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。 JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。 碰到复杂点的问题都不知道能不能解决,现在有点实力的公司都选择自已在开源的基础上做开发。但没听说过有人在IIS上做改进的,windows、sqlserver集群方面的应用也很少见。 如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。 代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。 JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。 ASP.NET:ASP.net是Microsoft.net的一部分,作为战略产品,不仅仅是ActiveServerPage(ASP)的下一个版本;它还提供了一个统一的Web开发模型,其中包括开发人员生成企业级Web应用程序所需的各种服务。ASP.NET的语法在很大程度上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。 在一个项目中谁敢保证每天几千万甚至几亿条的数据不丢失?谁敢保证应用的高可靠性?有可以借签的项目吗?
页:
[1]