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

 

摘要

本期共有8篇文章:

  1. 在现有的Web Application Project中使用Web Client Software Factory
  2. Visual Studio Orcas中提供的JavaScript智能感知支持
  3. Visual Studio Orcas提供的新语言特性:扩展方法
  4. Page.IsValid属性和Validate方法
  5. 我期待的下个版本ASP.NET中的新特性
  6. ASP.NET小贴士——状态管理
  7. MetaWebLog API和离线Blog Writer
  8. ASP.NET 2.0中的Health Monitoring

 

[1] Using the WCSF with an existing Web Application Project (在现有的Web Application Project中使用Web Client Software Factory)

使用某个框架最容易的方法是从头开始创建程序,加上IDE的项目模板功能支持,可以说是易如反掌。可是在现实世界中,我们却往往并不能这么爽,很多情况下都是需要修改现有的项目,去适用某个框架。比如说,我们已经有了一个Web Application Project,可是突然有一天却发现了Web Client Software Factory这个好东西(朋友们对Web Application Project和Web Client Software Factory都不陌生吧……),想把二者集成起来,那又该如何修改呢?

本文就给出了详细的向导,其实也不是很难,如果你有需要的话,还是看看吧。

 

[2] JScript IntelliSense in Visual Studio Orcas (Visual Studio Orcas中提供的JavaScript智能感知支持)

这是一篇广告贴,不过广告中推荐的产品却是我们一直都期待的。如果你曾开发过大规模的Ajax应用程序,那么最郁闷的肯定就是IDE对JavaScript缺乏支持了。

Visual Studio Orcas添加了对JavaScript的智能感知功能,废话少说,看看本文中给出的几张截图吧:

 

[3] New "Orcas" Language Feature: Extension Methods (Visual Studio Orcas提供的新语言特性:扩展方法)

Scott再接再厉,又发布了一篇关于Visual Studio Orcas中新的语言特性的帖子,这次讲的是扩展方法。所谓“扩展方法”,其实就是为某个类添加方法(有些类似动态语言的特性),让我们能写出类似如下代码这样的程序(注意:email的类型可是string哦!):

string email = Request.QueryString["email"];
 
if ( email.IsValidEmailAddress() ) {
   
} 

这个IsValidEmailAddress方法就是一个“扩展方法”,定义于别处,注意其“古怪”的参数声名this string s:

public static class ScottGuExtensions
{
    public static bool IsValidEmailAddress(this string s)
    {
        Regex regex = new Regex(@"^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$");
        return regex.IsMatch(s);
    }
} 

然后using ScottGuExtensions;即可使用这个扩展了。更NB的是,Visual Studio Orcas甚至对其实现了智能感知:

文中还给出了几个有关这个“扩展方法”的应用场景。

 

[4] Page.IsValid and Validate (Page.IsValid属性和Validate方法)

ASP.NET中的Validator(验证器)想必大家都不陌生——几乎每个需要用户输入的地方都有它们的踪影。不过关于验证器的一些深入知识,你又了解多少呢?Page.IsValid属性和Validate方法是做什么用的?如果用户禁用了客户端JavaScript,那么ASP.NET的验证器还能管用么?客户端验证之后,服务器段还需要再次验证么?ValidationGroup是什么东西?有什么用?

若你回答不出这几个问题,那么则毫无疑问应该看看这篇短小精悍的文章。

 

[5] ASP.NET Wish List (我期待的下个版本ASP.NET中的新特性)

Steven Smith参加了西雅图的MVP Summit,可能是会上有感而发吧,他希望下个版本ASP.NET中能够添加如下的新特性:

  1. Recursive FindControl
  2. Cache Invalidation Options
  3. Distributed Cache
  4. Cache Provider Model
  5. Cache To Disk
  6. Cache Management
  7. Last caching request I promise.
  8. LINQ Support for SQL Cache Invalidation via SQL 2005 Notifications
  9. ViewState Provider Model (or configuration options)
  10. Anti-Spam or CAPTCHA Validator Control
  11. Control Improvements
  12. Factor Out Common User Errors
  13. AJAX File Upload Control
  14. SSL / HTTPS Support in Cassini / WebDev.WebServer
  15. ASP.NET Page Metrics, Static Analysis, Rules, Code Quality Checks

(期待还真不少)当然,这篇帖子也非常受关注,下面的评论不少,很多人写出了他们自己的希望。Steven Smith声称一定会让ASP.NET Team的人看到这些意见。

 

[6] ASP.Net Quick Tips - State Management (ASP.NET小贴士——状态管理)

记得前面某一期的推荐中,我曾经推荐了一个ASP.NET Tips,这两天作者Scott Watermasysk再接再厉,又写出了几篇关于ASP.NET的Tips,包括推荐的这一篇,还有如下这两个:

  1. ASP.Net Quick Tips - Caching
  2. ASP.Net Quick Tips - Web.config

这些Tips不但帮我们总结出了一些开发过程中的常见误区,对于那些正准备找一份ASP.NET相关工作的朋友来说,更是会从中找到巨大的价值!

 

[7] MetaWebLog API and Blog Writers (MetaWebLog API和离线Blog Writer)

Rich Strahl还是这么的生猛,这篇文章说,他花了“a little time last night”就为他的Blog添加了MetaWebLog API……

不管是真是假,他在这篇文章中写出了实现的过程,还是比较值得我们参考学习的。

 

[8] Health Monitoring in ASP.NET 2.0: The Basics (ASP.NET 2.0中的Health Monitoring)

ASP.NET 2.0中的Health Monitoring,有多少人曾经使用过?或是有多少人曾经听说过呢?我想不会太多吧。然而,这个功能强大的千里马就静静地躺在那里,郁闷地等待着伯乐。这篇文章就是Health Monitoring的伯乐,其中简要介绍了关于Health Monitoring的方方面面,实为一篇抛砖引玉的佳文(当然,我并不是说这篇文章是“砖”)。

posted on 2007-03-16 15:50 Dflying Chen 阅读(5603) 评论(28)  编辑 收藏 所属分类: ASP.NET英文技术文章推荐

评论:
#1楼  2007-03-16 16:29 | test001 [未注册用户]
我期待dudu同志能改善一下MetaWebLog API
就是支持[del.icio.us]自动发布 每日收藏的文章发到自己博客中来....

dudu同志有没有问题?

:)
  回复  引用    
#2楼  2007-03-16 16:30 | Jeffrey Zhao      
[3] 其实这就有动态语言的特性了,就像例子中相当于像JavaScript里String.prototype.IsValidEmailAddress,不过在IL里还是调用静态方法了。还有,这个其实是C#3.0的特性,Scott放在Orcas说估计只是……做广告,呵呵。毕竟Orcas是卖钱的,编译器是免费的……
[4] ViewState Provider Model。这个和PageStatePersister有什么区别呢?例如只要在Page里这么做就可以把ViewState/ControlState放到Session里去:
protected override PageStatePersister PageStatePersister
{
  get
  {
    return new SessionPageStatePersister(Page);
  }
}
  回复  引用  查看    
#3楼  2007-03-16 17:15 | 亚历山大同志      
Thanks for your work!well done!
  回复  引用  查看    
#4楼 [楼主] 2007-03-16 17:29 | Dflying Chen      
@test001
呵呵,dudu可能有些忙吧
  回复  引用  查看    
#5楼 [楼主] 2007-03-16 17:29 | Dflying Chen      
@Jeffrey Zhao
PageStatePersister是什么啊?
  回复  引用  查看    
#6楼 [楼主] 2007-03-16 17:29 | Dflying Chen      
@亚历山大同志
:)
  回复  引用  查看    
#7楼  2007-03-16 18:22 | 阿不      
asp.net 2.0的health mornitoring确实非常好用。不少用的人似乎不多,在园子里好像也没有人介绍过。有时间写个相关的介绍。
  回复  引用  查看    
#8楼  2007-03-16 18:23 | 阿不      
这些文章基本都是从weblogs.asp.net上看到的?
  回复  引用  查看    
#9楼  2007-03-16 18:53 | dudu      
@test001
目前已经提供MetaWebLog API 。
没在del.icio.us中测试过,我会测试一下。
  回复  引用  查看    
#10楼  2007-03-16 20:09 | junmy [未注册用户]
del.icio.us 发布到博客园的应该不行吧。

This experimental feature can automatically post entries to your blog every day containing your latest del.icio.us links. It supports Movable Type, Typepad, Wordpress, and other kinds of blog software.

我试过好像MetaWebLog API不行。

也或许是我填错了。。
我是这样填的:
job_name junmy@blogjava
out_name wujun
out_pass ********
out_url http://www.blogjava.net/wujun/services/metaweblog.aspx
out_time 10
out_blog_id wujun
out_cat_id 20323


说明是
* job_name is the name for your posting "thingy", which can be anything
* out_name is the login name you use for your blog
* out_pass is the password you use for your blog
* out_url is the full URL of the XML-RPC interface for your blog, which probably ends in something like mt-xmlrpc.cgi
* out_time is the hour (from 0-23 in GMT) to post your links at every day
* out_blog_id is your blog ID number (which is probably 1 if you have only one blog)
* out_cat_id is optional: the category ID number in your blog where you'd like to put these posts



  回复  引用    
#11楼  2007-03-16 21:51 | Cat Chen      
@Jeffrey Zhao
Provider模式灵活啊!

另外我认为Cache也应该是Provider模式,好像Profile那样,能够通过web.config设置强类型属性的,同时支持Cache的一些关键事件(例如Cache过期)。
  回复  引用  查看    
#12楼  2007-03-16 21:53 | aspnetx      
@test001
我还建议dudu老大开更多的访问接口
我曾有个想法做个多维数据集把博客园里的相关信息做个统计分析
倒不是为了什么,只是为了练练手
顺便看看从这些数据中能发现些什么
赫赫
  回复  引用  查看    
#13楼 [楼主] 2007-03-17 00:08 | Dflying Chen      
@阿不
似乎图书中也没有怎么提到这个阿
  回复  引用  查看    
#14楼 [楼主] 2007-03-17 00:08 | Dflying Chen      
@阿不
一小部分,还有很多来自别的网站
  回复  引用  查看    
#15楼 [楼主] 2007-03-17 00:08 | Dflying Chen      
@Cat Chen
下个版本应该会有所改善的,呵呵
  回复  引用  查看    
#16楼 [楼主] 2007-03-17 00:09 | Dflying Chen      
@aspnetx
恩,确实应该多提供一些接口,现在用Live Writer写完了之后还要再进来修改
  回复  引用  查看    
#17楼  2007-03-17 00:57 | Cat Chen      
@Dflying Chen
其实Provider模式好好啊,什么东西都可以自己去替换系统自带的。
  回复  引用  查看    
#18楼  2007-03-17 14:50 | dudu      
@test001
del.icio.us没有提供手动发布操作,测试比较麻烦,要等每天的自动发布。

@junmy
out_blog_id应该设置为数字。
  回复  引用  查看    
#19楼  2007-03-17 14:56 | dudu      
@Dflying Chen
还要修改什么,Live Writer可以直接发布到首页。
  回复  引用  查看    
#20楼  2007-03-17 16:34 | 婚庆行业网 [未注册用户]
太高深了,目前还看不懂。
  回复  引用    
#21楼  2007-03-17 17:13 | apan      
您好。迫切希望能推荐一些有关.net(使用 asp.net 或ajax)软件设计方面的文章看看。重视分析的。谢谢
  回复  引用  查看    
#22楼 [楼主] 2007-03-18 15:01 | Dflying Chen      
@Cat Chen
所以说Cache也要实现Provider吧
  回复  引用  查看    
#23楼 [楼主] 2007-03-18 15:01 | Dflying Chen      
@dudu
恩,我想提供摘要、团队分类等等的API,至于Live Writer部分的插件,我可以写
  回复  引用  查看    
#24楼 [楼主] 2007-03-18 15:02 | Dflying Chen      
@apan
MSDN上面似乎有不少的,搜索一下ASP.NET一大堆
  回复  引用  查看    
#25楼  2007-03-18 22:17 | cooler [未注册用户]
请教各位大虾,最近做毕业设计论文翻译,主要是ASP。NET 跟AJAX的
请问到哪里去找这方面的专业的英文论文呢?
小弟在这里谢过拉!
  回复  引用    
#26楼  2007-03-18 23:35 | apan      
@Dflying Chen
好的。我去搜一下。
  回复  引用  查看    
#27楼 [楼主] 2007-03-20 11:55 | Dflying Chen      
@cooler
恩,可以到微软的相关网站看看阿
  回复  引用  查看    

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

相关链接: