加菲猫窝

现在专注于streaming server & CDN

   博客堂 :: 首页 :: 联系 :: RSS 2.0 ::
随笔 - 104, 评论 - 509, 引用 - 61

导航

关于

专业流媒体服务网
网络防盗链

PageRank
添加到百度搜藏 添加到百度搜藏


和博主MSN

标签

每月存档

最新留言

广告

关于MSDN开发精选

星期天的晚上,一边翻着《MSDN开发精选》,一边写这个POST,一边和别人玩msn的扫雷,运气不错,大胜,结果一个ALT-F4不小心把IE关了,这些文字不得不再写一次 : (

以前在网络上看了一些评论,大家普遍反映的问题就是贵,的确对于一本薄薄的小册子,18块钱是贵了些,特别是对于很多的学生。

前些日子参加微软的合作伙伴峰会,送了2004年的4月的第一辑,今天翻了翻,不禁有相见恨晚的感觉,虽然早就知道MSDN是个大宝库,但是因为俺鸡肋的英语水平,用得最多的还是在visual studio里面按F1或者在需要解决问题时看KB和howto,从来没有憋着劲去翻里面长篇大论的专题和那些精彩的文章,现在才知道有多大的损失:<

以前写一些Service比较多,win32多线程性能分析还有一篇关于堆的文章吸引了我的目光,现在开始学习DotNET,里面关于.NET架构和模式的文章让我受益非浅,关于Longhorn的东西看看也不错,随书的光盘里也有一些好东东,嘿嘿...决定以后订了,借别人的也行,假如总有送那我就开心死了:->

呵呵,以上纯属广告,如有上当,概不负责(以下略去3000字)...

posted on 2004-06-20 22:00:00 by peon  评论(10) 阅读(4490)

关于PageRank的七七八八和博客堂

看到孙展波提到PageRank的问题,也来说两句 :)

假如要使自己页面的搜索结果靠前,一般要做到3点:

1.页面的标题中要包含搜索关键词,META标记也不要放过

2.在页面内容中频繁出现该关键词(做得太过分可是要被惩罚的!)

3.提高自己页面的PageRank

前面两条自己可以搞定,可是最后一条需要很多的反向链接(ReverseLink),因为BLOG的反馈中可以提交URL(可以提交URL的主要还有论坛,但是因为论坛的随便一个帖子URL都是一堆的动态参数,搜索引擎对这个是很不感冒的),于是很多人打起了我们这些人的BLOG的主意。

很多人没有注意到来自自己网站的ReverseLink也可以生效的,应该多注意一下自己网站的结构啊!其实博客堂的结构非常不错,每个页面都有指向个人首页和博客堂首页的链接,博客堂首页也有指向个人首页的链接,这样整个网站的Rank都提高了。

但是觉得博客堂使用的Text版本在搜索引擎上有一个缺陷:页面的标题都是个人博客的标题,而不是POST的标题,对POST的内容在搜索里排名的提高是不利的。

posted on 2004-06-05 14:23:00 by peon  评论(62) 阅读(4917)

使用自定义的TraceListener

DotNet的Trace类提供一组帮助跟踪代码执行情况的方法和属性,使用是非常方便的,具体到输出到什么地方,取决于TraceListener的类型,系统自带了三种类型: 

System.Diagnostics.DefaultTraceListener
System.Diagnostics.EventLogTraceListener
System.Diagnostics.TextWriterTraceListener

有时候我们想自己定义输出类型,比如输出到数据库,输出到socket等等,这就需要自定义TraceListener,这个非常容易,只需要简单的继承System.Diagnostics.TraceListener抽象类,这里我们实现一个输出到控制台的(C#):

namespace Peon.Diagnostics
{
 public class ConsoleTraceListener : System.Diagnostics.TraceListener
 {
  public override void Write( string  str )
  {
   Console.Write(  str );
  }

  public override void WriteLine( string str )
  {
   Console.WriteLine(  str  );
  }
 }
}

然后在程序中就可以如下使用:

   Trace.Listeners.Add( new Peon.Diagnostics.ConsoleTraceListener() );
   Trace.WriteLine( "Hello World!" );

假如不想通过硬编码,而是通过app.config配置,可以如下使用:

在app.config中添加如下配置节(这里TestIPProbe是包含Peon.Diagnostics.ConsoleTraceListener的程序集名称)

 <system.diagnostics>
  <trace autoflush="true" indentsize="4">
   <listeners>
   <add name="myListener" type="Peon.Diagnostics.ConsoleTraceListener,TestIPProbe"/>
   </listeners>
  </trace>
 </system.diagnostics>

概要:

DotNet的TraceListener实现使用了Observer模型:当客户调用Write等方法时,Trace.Listeners  集合里所有的TraceListener 都会调用相关方法.

自定义的TraceListener实现非常容易,只要继承System.Diagnostics.TraceListener ,实现Write和WriteLine方法就可以了(你还可以根据需要复写Flush,Close等方法),然后在使用中将它添加到Trace.Listeners 集合。

参考: Implementing a Custom TraceListener
 http://www.codeguru.com/vb/gen/vb_misc/debuggingandtracing/article.php/c5611/ 

posted on 2004-06-04 12:01:00 by peon  评论(6) 阅读(4065)