仓酷云

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

[学习教程] ASP.NET网页设计.Net下几种日记办理办法

[复制链接]
山那边是海 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:45:25 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
以前很热炒跨平台,主要是由于硅谷挑战微软霸主地位的热情,但是冷静下来后,跨平台往往不是那么一回事。假设你有个软件,所谓的跨平台,你只需要为第二个平台上重新编译一次就行了,这样很难么?.Net下几种日记办理办法
日记是使用程序中不成短少的一部分,不但能够纪录使用程序的运转形态,还能够纪录一些BUG,便于使用程序的更新与修正。
在.Net有好几种办法能够对日记举行办理。
1、数据库日记。
2、文今天志。
3、体系事务日记。
起首,关于数据库日记而言,它的利用复杂并且便利。这里就不做太多的会商,信任写过与数据相干的项目标人城市用数据来纪录一些日记。但是它独一欠好的就是:必需先包管你的数据库链接是准确无误的。
但是这一包管不是一定的,以是这里我再会商一下别的的两种情形,文今天志及体系事务日记。
文今天志:
它利用复杂,并且检察也便利。欠好的就是方便于做大批的日记,并且日记内容的检察与剖析都不便利。但是它仍是可在在一些不合适数据库日记的中央利用。比方一些测试动静的输入,一些自力组件的大批日记等。
一样平常情形下,为了便利办理,以天为单元对日记文件举行分类。如许一来也能够复杂的对文件举行办理。比方:你的文件名能够晓得这个日记是甚么时分的,然后能够复杂的做一个相似数据库一样的查询,办理也还便利。究竟文本对体系来讲是云云的复杂。
.Net有一个诊断类,能够把文本以监听的体例增加到Trace和Debug上,如许一来,你的一切指向Trace和Degug的输入城市纪录到文件里往。这是一个很不错的办法。
usingSystem.Diagnostics;
Debug.Listeners.Add(newSystem.Diagnostics.TextWriterTraceListener(DateTime.Now.ToString("yyyyMMdd")+"..log"));
Debug.Listeners.Add(newSystem.Diagnostics.TextWriterTraceListener(Console.Out));
大概:
Trace.Listeners.Add(newSystem.Diagnostics.TextWriterTraceListener(DateTime.Now.ToString("yyyyMMdd")+"..log"));
Trace.Listeners.Add(newSystem.Diagnostics.TextWriterTraceListener(Console.Out));
这里的区分是:Trace在Release下可使用,而Debug只在Debug下利用。
我以为一切的文今天志中,下面的办法是最好用的。你只必要再做一个日记办理的类就好了。
固然,还要注重,就是监听在24小时后要更新一次,应当把以后的监听清算失落,然后从头增加一个。这也复杂。
另外一个办法就是本人写文本举行办理。如许的办法要略贫苦一点点,道也不难。
但是文今天志除方便于做大批日记的事情以还,另有一个致命的成绩:历程抵触!
由于文今天志要锁定正在写的文本文件,以是别的要写该文件的程序会呈现毛病。一样平常情形下,假如应当程序只要一个正本在运转,并且把日记做为一个全局的静态工具来处置,也不会有甚么太年夜的成绩。但程序的第二个正本会由于文件不克不及翻开而启动失利。
这并非一个没法办理的成绩,只用包管程序有一个正本就好了。假如不包管的话,那末小有一点庞大,这里就不再会商了,下次无机会再会商这个成绩。
关于下面的成绩,我想临时保持文今天志,用体系的事务日记来处置。
体系事务日记:
.net下有一个EventLog类,它间接与体系的事务日记联系关系。
复杂的一个:
EventLog.WriteEntry("LogSource","Thisisatestlog.");
就能够往体系里写一个事务了。
但是把它用好也另有点点贫苦。起首是下面的办法会在体系的Application下写一个事务日记,并且为默许为Information范例。如许很倒霉于办理,人人能够在办理工具里看一下日记,就会发明大批的日记,本人写的一个小日记几乎没法找到。
但是.Net为我们供应了几个办法来更好的办理日记。
1、增加一个新的LogSource。
甚么是LogSource?实在复杂的说,它就是日记的一个分类标志,比方你能够用程序一次掏出以是LogSource为指定内容的日记。如许一来,只需你记得这个Source名,你就能够读取和分类办理日记了。
默许情形下,你在间接用EventLog的静态函数写日记的时分,要指定一个LogSource,假如LogSource不存在,那末它就主动在Application下创建一个,因而,创立LogSource就这么复杂了。
2、增加一个新的Log.
甚么是Log.这里的Log是指体系事务日记里的年夜日记分类,一样平常情形下,体系有Application,System和Sercuity三个日记,每一个上面有分歧的Soucce,如许就组成了日记体系。
你不克不及自力的创立一个Log,由于.NET里没有供应任何办法来创立一个Log,只能经由过程函数:CreateEventSource(string,string)
来创立一个Sourcce,此时假如你如许做:CreateEventSource("MySource","MyLog");
你就会在日记办理器里看到多了一个MyLog类,但是再如许写日记:
EventLog.WriteEntry("MySource","Thisisatestlog.");
就能够写一笔记录到MyLog分类下,如许就能够很好的办理本人的日记了。
必要申明的是:
假如Source已存在,那末创立会失利。注重:不论Source的哪一个Log下,只需Source的名字已存在,那末你的创立城市失利。比方:假如有一个"Source1"的日记在Application里,那末你就不克不及再到别的Log里再创立一个名为"Source1"的日记了。别的:你用程序创立的日记不克不及在日记办理器里删除它(Messages能够删除,但日记分类不克不及删除)。办法是你仍是用程序能够来删除,大概在注册内外来删除它。它的地位:[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesEventlog]
看一下注册表,也许你会分明一些。
最初就是用日记实例工具来写日记。你能够指定一个Log名和一个Source名来写日记,但要注重,必需是Log与Source婚配,不然也会呈现毛病。这比间接用静态办法来写日记要庞大一点点,但你有更多的自在空间。
体系事务日记欠好的中央就是日记只保留三个月,并且欠好办理。假如你能够间接办理服务器,大概就在本机上运转应当会好一些,不然你就不能不本人写些代码来办理日记了。固然,假如一些主要的日记,能够导出到别的文件中。
它的优点是良多的:
1、不用与数据库链接,效力会高一些,也不会无数据库会见失利的成绩。
2、不会有历程抵触成绩,它是体系的日记,不论是甚么使用程序都能够写日记。
3、全局可用,不论在那里都能够间接写日记,并且可读。因而能够把它当做一个动静通讯平台。(固然,大概只要那些年夜脑有点成绩的人会如许做。)但是我只是想申明:A历程写的日记,B历程能够间接读取。
好了,关于日记此次就总结这些。
Java欺骗了我们那么多年,如今的多核时代,我认为它气数已尽!
老尸 该用户已被删除
沙发
发表于 2015-1-19 22:47:43 来自手机 | 只看该作者
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-25 17:37:09 | 只看该作者
是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
若天明 该用户已被删除
地板
发表于 2015-2-3 12:14:12 | 只看该作者
平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。
蒙在股里 该用户已被删除
5#
发表于 2015-2-8 21:35:14 | 只看该作者
如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。
乐观 该用户已被删除
6#
发表于 2015-2-26 11:28:57 | 只看该作者
JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。
因胸联盟 该用户已被删除
7#
发表于 2015-3-8 14:05:44 | 只看该作者
目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.
海妖 该用户已被删除
8#
发表于 2015-3-16 01:10:24 | 只看该作者
微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。
莫相离 该用户已被删除
9#
发表于 2015-3-22 18:12:38 | 只看该作者
HTML:当然这是网页最基本的语言,每一个服务器语言都需要它的支持,要学习,这个肯定是开始,不说了.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-1-10 06:07

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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