ASP.NET网站制作之ASP.NET 2.0 里输入文本格局流
2003年中微软发布最新版本的ASP.netWebMatrix,对于我们喜欢用Asp.net来编程的朋友实在是个好消息,我也实实在在的将Asp.net更深入的研究了一下,以方便我以后更好的运用它,同时我也讲讲使用它的感受。asp.net 在用ASP.NET编程时,翻开一个页面通常为经由过程指定超链接地点,挪用指定的页面文件(.html、.aspx)等办法。可是,假如行将翻开的页面文件的内容是在程序中静态天生,大概是从数据库的内外掏出的,我们怎样把这些内容展现出来呢?
我们最间接的设法是,把这些内容先保留成网页文件,再挪用它。这类办法固然是能够的,但不是最好的办法,由于如许会在Web服务器上天生
很多一时文件,这些文件大概永久也用不着了。
另外一种最好的办法是使用文本格局流,把页面内容静态地展现出来。比方,有一个页面:
……
<iFramesrc=""></iframe>
……
必要用iFrame翻开一个页面,这个页面的内容是静态天生的。我们能够写一个.ashx文件(这里定名为html.ashx)来处置。.ashx文件里完成了IHttpHandler接口类,能够间接天生扫瞄器利用的数据格局。
html.ashx文件内容:
<%@WebHandlerLanguage="C#"Class="Handler"%>
usingSystem;
usingSystem.IO;
usingSystem.Web;
publicclassHandler:IHttpHandler{
publicboolIsReusable{
get{
returntrue;
}
}
publicvoidProcessRequest(HttpContextcontext)
{
//Setuptheresponsesettings
context.Response.ContentType="text/html";
context.Response.Cache.SetCacheability(HttpCacheability.Public);
context.Response.BufferOutput=false;
Streamstream=null;
stringhtml="<html><body>乐成:testoftxt.ashx</body></html>";
byte[]html2bytes=System.Text.Encoding.ASCII.GetBytes(html);
stream=newMemoryStream(html2bytes);
if(stream==null)
stream=newMemoryStream(System.Text.Encoding.ASCII.GetBytes("<html><body>getNothing!</body></html>"));
//Writetextstreamtotheresponsestream
constintbuffersize=1024*16;
byte[]buffer=newbyte;
intcount=stream.Read(buffer,0,buffersize);
while(count>0)
{
context.Response.OutputStream.Write(buffer,0,count);
count=stream.Read(buffer,0,buffersize);
}
}
}
html.ashx文件中起首把string字符串转化为字节(byte)数组,然后再天生内存中的MemoryStream数据流,最初写到OutputStream工具中,显现出来。
如许以来,我们就能够经由过程<iFramesrc="html.ashx"></iframe>来展现静态天生的页面,显现“乐成:testoftxt.ashx”的网页内容。html.ashx文件中stringhtml="<html><body>乐成:testoftxt.ashx</body></html>";一句中,变量html的内容完整能够从数据库中失掉(事前把一个html文件内容保留在数据库中)。
我也不知道,我原来理解的,NET就是C++编程,只是与JAVA相对,呵呵。以为.ET就是高级C++编程。 ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。 现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。 ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。 业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。 ASP.Net摆脱了以前ASP使用脚本语言来编程的缺点,理论上可以使用任何编程语言包括C++,VB,JS等等,当然,最合适的编程语言还是MS为.NetFrmaework专门推出的C(读csharp)。 平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。 关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。
页:
[1]