仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 850|回复: 8
打印 上一主题 下一主题

[学习教程] ASP.NET编程:asp.net 经由过程httpModule盘算页面的实行...

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-16 22:20:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
也不知道,我同学昨天说数据挖掘很好。创立一个类库,创建以下类:
复制代码代码以下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Web;//援用web定名空间
usingSystem.Text;
namespaceTimerHttpModule
{
publicclassClass1:IHttpModule//承继IHttpModules
{
publicvoidInit(HttpApplicationapplication)//完成IHttpModules中的Init事务
{
//定阅两个事务
application.BeginRequest+=newEventHandler(application_BeginRequest);
application.EndRequest+=newEventHandler(application_EndRequest);
}
privateDateTimestarttime;
privatevoidapplication_BeginRequest(objectsender,EventArgse)
{
//objectsender是BeginRequest传送过去的工具
//内里存储的就是HttpApplication实例
//HttpApplication实例里包括HttpContext属性
starttime=DateTime.Now;
}
privatevoidapplication_EndRequest(objectsender,EventArgse)
{
DateTimeendtime=DateTime.Now;
HttpApplicationapplication=(HttpApplication)sender;
HttpContextcontext=application.Context;
context.Response.Write("<p>页面实行工夫:"+(endtime-starttime).ToString()+"</p>");
}
//必需完成dispose接口
publicvoidDispose(){}
}
}

天生后将dll文件copy到bin目次,接着在web.config中注册这个HttpModule:
复制代码代码以下:
<configuration>
<system.web>
<httpModules>
<addname="TimerHttpModule"type="TimerHttpModule.Class1"/>
</httpModules>
</system.web>
</configuration>

如许网站的每个.net页面底部城市显现页面的实行工夫了。
不外如许做要当心,由于每一个.net页面开端城市被加上实行工夫,包含webservices和ashx页面,和你大概不是用来间接做页面的.aspx页面(比方你用来输出json数据大概xml数据)。以是,为了包管平安,还必需接纳有针对性的办法来制止这类情形的产生。
办法一:在Response.Write办法之前做判别,扫除一些不想增加实行工夫的页面,能够经由过程Request.URL来判别;
办法二:不要把实行工夫间接增加到页面输入的尾端,而是作为一个httpheader输入。利用Response.AddHeader(key,value)能够完成这个希望。实不相瞒,Java是我见过的执行效率最低的程序设计语言,前不久在CSDN论坛上有个评测,计算9999的阶乘,同样的循环算法,Java的耗时是.NET的5倍。
兰色精灵 该用户已被删除
沙发
发表于 2015-1-18 16:27:08 | 只看该作者
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
谁可相欹 该用户已被删除
板凳
发表于 2015-1-22 12:35:00 来自手机 | 只看该作者
ASP.NET可以无缝地与WYSIWYGHTML编辑器和其他编程工具(包括MicrosoftVisualStudio.NET)一起工作。这不仅使得Web开发更加方便,而且还能提供这些工具必须提供的所有优点,包括开发人员可以用来将服务器控件拖放到Web页的GUI和完全集成的调试支持。微软为ASP.net设计了这样一些策略:易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。
再见西城 该用户已被删除
地板
发表于 2015-1-31 06:40:29 | 只看该作者
以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。
金色的骷髅 该用户已被删除
5#
发表于 2015-2-6 18:05:37 | 只看该作者
ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象。
柔情似水 该用户已被删除
6#
发表于 2015-2-17 23:38:59 | 只看该作者
PHP的源代码完全公开,在OpenSource意识抬头的今天,它更是这方面的中流砥柱。不断地有新的函数库加入,以及不停地更新,使得PHP无论在UNIX或是Win32的平台上都可以有更多新的功能。它提供丰富的函数,使得在程式设计方面有着更好的资源。目前PHP的最新版本为4.1.1,它可以在Win32以及UNIX/Linux等几乎所有的平台上良好工作。PHP在4.0版后使用了全新的Zend引擎,其在最佳化之后的效率,比较传统CGI或者ASP等技术有了更好的表现。
再现理想 该用户已被删除
7#
发表于 2015-3-5 23:45:54 | 只看该作者
大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。
精灵巫婆 该用户已被删除
8#
发表于 2015-3-12 16:37:03 | 只看该作者
市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。
小女巫 该用户已被删除
9#
发表于 2015-3-20 00:26:32 | 只看该作者
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 01:05

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表