惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
V
Visual Studio Blog
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
Last Week in AI
Last Week in AI
C
Check Point Blog
D
Docker
M
MIT News - Artificial intelligence
P
Proofpoint News Feed
博客园 - 叶小钗
博客园 - 聂微东
The Cloudflare Blog
云风的 BLOG
云风的 BLOG
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
MyScale Blog
MyScale Blog
WordPress大学
WordPress大学
Engineering at Meta
Engineering at Meta
腾讯CDC
S
SegmentFault 最新的问题
博客园 - 【当耐特】

博客园 - qy

枚举 Duwamish7资料收集- [] 学习Duwamish7的MSDN说明及相关技术策略 Duwamish7学习笔记(七) Duwamish7学习笔记(六) Duwamish7学习笔记(五) Duwamish7学习笔记(四) Duwamish7学习笔记(三) Duwamish7学习笔记(-) jQuery介绍及语法----转载 浅谈.net事件机制 使用EditPlus2编写C#代码 跟踪用户会话 按钮确认(js与C#交互) 3-28学会的几句sql语句 Visual Studio 2003/Visual Studio 2005常用快捷键 ----转 最优化javascript自定义对象 BOM 关于用div实现table的效果
Duwamish7学习笔记(二)
qy · 2007-09-18 · via 博客园 - qy

SystemFrameWork项目
  SystemFrameWork项目是一个能直接移植到别的应该程序的项目,可以不修改或很少的修改代码而直接使用。
  项目主要为3个类。
   1.ApplicationConfiguration类
    此类为应用级的配置类,实现IConfigurationSectionHandler接口。与前面讲的DuwamishConfiguration类实现方法类同。主要方法为Create(),OnApplicationStart(),ReadSetting()。
    如果要使用此类,需于Global.asax的Application_OnStart事件中调用ApplicationConfiguration.OnApplicationStart(Context);
 public static void OnApplicationStart(String myAppPath)
        {
            appRoot = myAppPath;
            System.Configuration.ConfigurationSettings.GetConfig("ApplicationConfiguration");
            System.Configuration.ConfigurationSettings.GetConfig("DuwamishConfiguration");
            System.Configuration.ConfigurationSettings.GetConfig("SourceViewer");
        }
此方法通用调用ConfigurationSettingis.GetConfig()方法通过Web.Config中的取得对应的解析类,调用相应的Create()方法。如果没有对应的配置解析类则可直接调用System.Configuration.NameValueSectionHandler类解析,GetConfig("SourceViewer")即是如此。
    2.ApplicationAssert类
    此类主要用来帮忙开发人员进行错误检查,日志记录等。主要有Check(),CheckCondition(),GenerateStackTrace()三方法和LineNumber属性。
     [ConditionalAttribute("DEBUG")]应用于Check(),和GenerateStackTrace()方法,如果Debug常量被定义,此方法可以被调用。
    3.ApplicationLog类
    此类主要用来进行日志记录。
    定义Error(1)、Warning(2)、Info(3)、Verbose(4)四个TraceLevel级别记录日志调试和跟踪信息.具体设置于Web.Config的配置节中定义。此类中所有方法均为static方法,是主要的为static void WriteLog(level,messageText)
如果写入的TraceLevel不大于配置中定义的级别,则把对应的调试、跟踪信息按定义的级别写入Windows 事件日志中和定义的跟踪文件中.
    ApplicationLog类的构造函数声明为private static,在对ApplicationLog类进行第一次调用时从配置文件中取得配置信息进行初始化。
   
疑问
    1.在 static ApplicationLog()中运用了System.Threading.Monitor,保证多线程操作的安全性。为什么对ApplicationLog要进行锁的控制?
 2.对System.Diagnostics命名空间中某些类理解不太清楚。

MSDN帮助
1.Monitor 类
      ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfsystemthreadingmonitorclasstopic.htm
 2.System.Diagnostics 命名空间(提供特定的类,使您能够与系统进程、事件日志和性能计数器进行交互)
      ms-help://MS.MSDNQTR.2003FEB.2052/cpref/html/frlrfsystemdiagnostics.htm