随笔-312  评论-11907  文章-2  trackbacks-224

[1] An Introduction to Simple Object Access Protocol(SOAP简单介绍)

这是一片言简意赅的介绍SOAP(Simple Object Access Protocol)的文章。SOAP已经不是什么新东西了,但这篇文章还是非常值得一读。作者Joydip Kanjilal的归纳、总结能力相当不错,在如此短小的篇幅之内将概念说得非常透彻。本文语言运用方面同样非常浅显易懂,是一片不可多得的练习英语阅读的好材料。

本文包含如下内容:

  1. Introduction
  2. What is SOAP, Anyway?
  3. Why is SOAP required?
  4. Advantages of SOAP
  5. Disadvantages of SOAP
  6. Composition of SOAP
  7. Anatomy of a SOAP Message
  8. SOAP support in Microsoft .NET
  9. SOAP and Web Services
  10. SOAP and Microsoft .NET Remoting
  11. References
  12. Conclusion

 

[2] Stopping hot-linking with IIS and ASP.NET(在IIS和ASP.NET应用程序中防止盗链)

原本以为“盗链”只是具有“中国特色”的东西,没想到老外也有这方面的担忧,他们将盗链叫做leeching、hot-linking或者inline-linking。这不,MVolo也正在为此郁闷,他还为此特意开发了一个ASP.NET module用来阻止站点中的图片、视频、音频等被别的站点引用。该module适用性非常广,能够应用于IIS5 (Windows 2000/XP)、IIS6 (Windows Server 2003)以及IIS7 (Windows Vista / Longhorn Server)之上。

这篇文章就介绍了如何使用这个Module实现防止盗链的功能,包括详细的配置方法、各种考虑因素等,并提供了该Module下载。作者还在该Module的应用前后做了性能测试,结果似乎非常不错:

 

[3] DOM events in the Microsoft AJAX Library(Microsoft AJAX Library中的DOM事件)

在以前CTP版本的Atlas中,微软采用了“万般皆下品,唯有IE高”的作风,武断地用一个浏览器兼容层将其他“标准”浏览器中的事件处理方法转变为只有IE支持的、“非标准”的方法,这篇文章对此有详细的解释。

在经历过若干CTP版本之后,微软也收到了大量的对此的抱怨、不解甚至指责,最终在Beta 版本,也就是ASP.NET AJAX中,微软只能“顺应民意”地修改了Atlas中的浏览器兼容层,将其改回了更加“标准”的处理方式。例如,在Beta版本中为某个DOM元素添加click事件的处理函数代码应该类似如下所示:

$addHandler(myDomElement, "click", someFunction);

而不是CTP版本中的:

myDomElement.attachEvent("click", someFunction);

在Beta版本中,微软还将浏览器兼容层分散在客户端脚本库的各处,而不是CTP版本中用独立的兼容文件实现,这样就避免了服务器端的参与,减轻服务器端负担的同时也让客户端脚本库能够更方便地在其他非ASP.NET 2.0平台上使用。

 

[4] ASP.NET AJAX--Two weeks later(ASP.NET AJAX ——两周后)

两周前的技术文章推荐中,我曾经提到过意大利知名ASP.NET技术作家Dino Esposito对ASP.NET AJAX Beta带来的巨大改变郁闷不已,甚至讲话也变得尖酸刻薄起来

不过两周后,Dino似乎和我一样“屈服”于微软的“淫威”之下,接受了这个难以改变的事实。这篇文章就是Dino此刻的心得体会,总体说来还是非常客观的,没有什么“过激”的言辞。

Dino随后又对Beta 2版本的发布写了一篇“第一印象”,其中似乎有了些赞赏的意味。不过这篇文章的最后一句(Sorry for being repetitive writing more or less the same ideas over and over again. I'm just trying to clear my mind and clarify things before starting on a new book v1.0 book project.)还是暴露出了Dino的真实想法——版本变化不是错,可是为什么不能等我把书出版了再说呢?(博大家一笑而已,请勿当真)。

 

[5] ASP.NET AJAX 1.0 Beta 2 Release(ASP.NET AJAX 1.0 Beta 2发布)

作为“ASP.NET之父”,Scott的话总是那么有分量。他的这篇Blog简要却又足够概括地介绍了ASP.NET AJAX 1.0 Beta 2所带来的新特性以及相应的升级方法。新特性概括如下:

  1. UpdateProgress放到了核心包中提供支持
  2. 在不支持AJAX的浏览器中,局部更新将自动“降级”为传统的整页回送
  3. 简化的DOM事件支持(就是第[4]条推荐文章描述的内容)
  4. 客户端JavaScript本地化支持
  5. 客户端JavaScript对调试、跟踪支持的改善
  6. Safari和FireFox中对ASP.NET Web Parts拖放功能的支持
  7. 性能和可伸缩性的提升

关于升级步骤,在我的这篇Blog文章中已经有介绍,这里不赘。

 

[6] Knowledge Base Server Beta available as CommunityServer Add-In(Knowledge Base Server Beta以CommunityServer插件的形式提供下载)

Knowledge Base Server是一个CommunityServer的插件,为其提供管理知识、数据的功能。CommunityServer本来最常用的功能就是Blog和论坛,现在有了Knowledge Base Server的帮助,我们是不是能够在挖掘一下它的潜力呢?

Scott Cate的这篇Blog文章介绍了Knowledge Base Server的主要特性,包括:

  1. Copy Forum Post / Thread
  2. Knowledge Base Suggest
  3. Knowledge Base Terms

帖子中还提供了5段极为精彩的视频,描述这些功能的使用,非常值得一看。

 

[7] Creating DAL Components Using Custom ASP.NET Build Providers And Compiler Techniques(使用自定义的ASP.NET编译Provider以及编译器相关技术创建DAL组件)

不得不说这是一篇非常“有技术含量”的文章。其中引入了一种作者称为“DALC Description Language(数据访问层组件描述语言)”的新语言。下面的代码就是使用该语言描述的一个数据访问层组件:

Config {
   Namespace = "Parago.DAL",
   DatabaseType = "MSSQL",
   ConnectionString = "Data Source=.\SQLEXPRESS; ... "
}

//
// DAL component for table Articles
//
DALC Article ( = Articles ) {
   Mapping {                // Map just the following fields, leave others
      ArticleID => Id,
      Text1 => Text
   }
   SelectAll()
   SelectByAuthor(string name[CreatedBy])
   SelectByCategory(int category[Category])
}

DALC Category( = "Categories" ) {
   SelectAll()
}

既然引入了一门新语言,那么编译器也自然是必不可少的。“数据访问层组件描述语言”的语法采用EBNF元语法描述,并在文中给出了该文法的定义以及相应的该语言编译器的C#实现。“数据访问层组件描述语言”的编译器是以自定义ASP.NET编译Provider的形式提供给ASP.NET使用的,配置起来也非常的简单,Web.config中加上这一段即可:

<compilation>
   <buildProviders>
      <add extension=".dal" type="Parago.DALComp.DALCompBuildProvider, DALComp.BuildProvider"/>
   </buildProviders>
</compilation>

若你已经忘记了大学中学过的编译原理课程,或是根本不知道学习编译原理有什么用,甚至觉得这些理论的东西都是狗屁,那么这篇文章可能会让对计算机基础理论课程有一个全新的认识。

 

[8] Top Five Developer API's(开发者最常用的5个API)

作者在这篇文章中给出了他认为最有用的、开源或免费的、非工具、非内建的5个.NET API以及简要介绍,包括:

  1. Lucene.NET
  2. Anthem
  3. ORM
  4. NVelocity
  5. RSS.NET

本文一石激起千层浪,读者在下面的回复中纷纷提出自己的见解并展开了“气氛友好”而“热烈”的讨论,作者随后又添加了如下几个:

  1. Flickr.NET
  2. SgmlReader
  3. PowerCollections
  4. XML-RPC.NET
  5. Genghis

朋友们可以看看这些工具,说不定能在实际项目中助上我们一臂之力。

posted on 2006-11-11 10:55 Dflying Chen 阅读(3198) 评论(29)  编辑 收藏 所属分类: ASP.NET英文技术文章推荐

评论:
#1楼  2006-11-11 11:32 | stonezhu      
Lucene.NET 不是已经商业化了吗?
  回复  引用  查看    
#2楼 [楼主] 2006-11-11 11:35 | Dflying Chen      
@stonezhu
没有吧?
  回复  引用  查看    
#3楼  2006-11-11 11:40 | stonezhu      
第一次在看idior的Lucene.NET系列时,有人说的,我刚才找了一下,没有商业化,呵呵,正考虑项目中用它了,查清楚了,别牵来知识产权问题:)
  回复  引用  查看    
#4楼  2006-11-11 11:41 | 阿一      
我喜欢这个,每周搞个推荐文章的帖子!
  回复  引用  查看    
#5楼  2006-11-11 11:50 | 木野狐      
Anthem 和那个用自己的语言编写 DAL 的比较有意思。。
  回复  引用  查看    
#6楼  2006-11-11 11:51 | 维生素C.NET      
顶LZ ~
  回复  引用  查看    
#7楼  2006-11-11 11:56 | idior      
@Dflying Chen
这种形式的东东不错,希望你坚持下去。
以后博客园应该推出一个官方推荐。 :)
  回复  引用  查看    
#8楼  2006-11-11 12:00 | lazylu      
呵呵,其实老外对盗链更憎恨,因为很多国外的服务器都是算流量的
  回复  引用  查看    
#9楼 [楼主] 2006-11-11 12:01 | Dflying Chen      
@stonezhu
是啊,不能随便用的:)
  回复  引用  查看    
#10楼 [楼主] 2006-11-11 12:01 | Dflying Chen      
@阿一
谢谢,有所帮助就好了!
  回复  引用  查看    
#11楼 [楼主] 2006-11-11 12:01 | Dflying Chen      
@木野狐
那个DAL非常有技术含量的,呵呵
  回复  引用  查看    
#12楼 [楼主] 2006-11-11 12:02 | Dflying Chen      
@维生素C.NET
谢谢!
  回复  引用  查看    
#13楼 [楼主] 2006-11-11 12:02 | Dflying Chen      
@idior
已经坚持3期了,呵呵,应该没什么问题的。总结一下,一个小时就够了。
  回复  引用  查看    
#14楼 [楼主] 2006-11-11 12:03 | Dflying Chen      
@lazylu
恩,算流量的都是虚拟主机吧?
  回复  引用  查看    
#15楼  2006-11-11 12:03 | stonezhu      
@idior
很久没有看见你写文章了嘛,刚才还提到你了,说曹操,曹操到啊.加班回家了,东西写完了
  回复  引用  查看    
#16楼 [楼主] 2006-11-11 12:04 | Dflying Chen      
@stonezhu
idior这一段比较忙,呵呵
  回复  引用  查看    
#17楼  2006-11-11 12:07 | stonezhu      
@Dflying Chen
@idior
:)同仁们要多休息啊,回家吃饭了.周末休息休息.

  回复  引用  查看    
#18楼 [楼主] 2006-11-11 12:15 | Dflying Chen      
@stonezhu
:)谢谢
  回复  引用  查看    
#19楼  2006-11-11 13:53 | Cat Chen      
2.通过Referrer来防盗链其实是一个极坏的主意,很直观,但是兼容性很差。例如Symantec/Norton都会出于用户隐私考虑而将每一个HTTP请求的Referrer删除。

6.这东西真的很cool哦!

7.BuildProvider是个好东西,用得好能够大大增强ASP.NET。编译原理一定要学好,呵呵……
  回复  引用  查看    
#20楼  2006-11-11 14:17 | dudu      
感谢Dflying Chen!
已经在博客园首页左侧进行了链接。
  回复  引用  查看    
#21楼  2006-11-11 16:13 | Dflying Chen[匿名]      
@Cat Chen
还是只有你仔细阅读啊,谢谢啦:)
  回复  引用  查看    
#22楼  2006-11-11 16:13 | Dflying Chen[匿名]      
@dudu
感谢推荐,我一定把这个系列写好!
  回复  引用  查看    
#23楼  2006-11-11 20:02 | 出走的影子      
不错,支持你的工作
  回复  引用  查看    
#24楼  2006-11-11 21:26 | Cat Chen      
@Dflying Chen[匿名]
呵呵……其实我也只是快速浏览一遍,我觉得快速阅读的技能很重要,特别是阅读技术文章时。学校培养快速阅读只能拿一般的科技类文章做练习,但实际上和我们读专业技术文章没什么差别,都是你要快速准确定位你所要的信息,然后就看那一点。

只不过快速阅读练习的出题一般会让问题覆盖整篇文章,让你看哪里都不能过快,文章的措辞一般是稍偏positive的,而看真正的技术文章就不是这样。往往一大页文字中只有一段是你要的信息,甚至还要多点几个链接才能找到,这时候你就要有定位有用信息或者是有用链接的能力了。而且文章措辞也随作者写作心情而定,现在Atlas的文章不少都是挺negative的语气,作者边说着他新发现了什么,边用WTF骂这东西怎么能这样设计。
  回复  引用  查看    
#25楼 [楼主] 2006-11-11 22:22 | Dflying Chen      
@出走的影子
谢谢!
  回复  引用  查看    
#26楼 [楼主] 2006-11-11 22:23 | Dflying Chen      
@Cat Chen
确实阿,中文材料快速阅读没什么问题,英文的还是不那么熟练,呵呵。
  回复  引用  查看    
#27楼  2006-11-12 01:56 | Cat Chen      
@Dflying Chen
呵呵……我也不熟练,所以坚持着看。鼠标滚轮在手,总是想狠狠地翻页,或许没滚轮的会好一些,哈哈……
  回复  引用  查看    
#28楼 [楼主] 2006-11-12 18:04 | Dflying Chen      
@Cat Chen
嘿嘿……是啊,慢慢来不着急
  回复  引用  查看    

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-11-11 10:58 编辑过
"五向定位"职业成长路线公开课(上海、南京、大连)
Google站内搜索

相关链接: