您的位置:首页 > Web前端 > JQuery

【收藏】本周ASP.NET英文技术文章推荐[03/23 - 04/05]:C#、Visual Studio、MVC、死锁、Web 2.0 API、jQuery、IIS7、FileUpload

2008-04-10 15:17 1281 查看
摘要

本期共有9篇文章:

提高C#和VisualStudio2008生产力的10个技巧

ASP.NETMVCAction过滤器:缓存和压缩

程序停止工作及其解决方法:第一部分:死锁

调用Digg、Flickr、Facebook、YouTube、Twitter、LiveServices、Google和其他Web2.0API的C#及VB.NET类库

使用jQuery调用ASP.NET的JSONWebService

ASP.NETMVC框架:第二部分:测试

IIS7的新模块:日志报表、数据库管理等

给ASP.NET2.0FileUpload控件添加过滤功能

OnLoad?Page_Load?还是Load事件?

[1]10TipstoBoostYourProductivitywithC#andVisualStudio2008(提高C#和VisualStudio2008生产力的10个技巧)

此类文章相对来说比较泛滥,而且均冠以“10大”之类的标题。不过偶尔看一下,可能还是会有所帮助,毕竟不要花费太多时间:

LearnKeyBindings

GenerateXMLCommentswithGhostDoc

Auto-ImplementProperties

Refactor

AddCommandstoVisualStudio2008

SpeedupCompilationwithProjectConfiguration

LetVisualStudioGenerateUnitTestCode

UseInterface-Driven-Design

MakeaMockeryofDependencies

DataDriveUnitTests

其中第5条AddCommandstoVisualStudio2008中介绍的那个小工具非常不错,节省了不少时间。

[2]ASP.NETMVCActionFilter-CachingandCompression(ASP.NETMVCAction过滤器:缓存和压缩)

作者给出了ASP.NETMVC中的两个Action过滤器,让我们能够很方便地添加缓存和压缩支持。

其中的缓存过滤器只要这样为方法添加属性即可:

[CacheFilter(Duration=60)]
publicvoidCategory(stringname,int?page)

.csharpcode,.csharpcodepre
{
font-size:small;
color:black;
font-family:consolas,"CourierNew",courier,monospace;
background-color:#ffffff;
/*white-space:pre;*/
}
.csharpcodepre{margin:0em;}
.csharpcode.rem{color:#008000;}
.csharpcode.kwrd{color:#0000ff;}
.csharpcode.str{color:#006080;}
.csharpcode.op{color:#0000c0;}
.csharpcode.preproc{color:#cc6633;}
.csharpcode.asp{background-color:#ffff00;}
.csharpcode.html{color:#800000;}
.csharpcode.attr{color:#ff0000;}
.csharpcode.alt
{
background-color:#f4f4f4;
width:100%;
margin:0em;
}
.csharpcode.lnum{color:#606060;}

而压缩的使用方式也非常类似:

[CompressFilter]
publicvoidCategory(stringname,int?page)


[3]Hangsandhowtosolvethem-part1-Deadlocks(程序停止工作及其解决方法:第一部分:死锁)

文章本身没有太多的详细介绍,不过最后给出的一系列链接倒是非常的不错,绝对是系统了解死锁相关问题的好资源:

Deadlock(criticalsections)

Deadlock(executiveresources)

Deadlock(mixedobjects)

Deadlock(LPC)

Deadlockmonitor

NoMoreHangs-AdvancedTechniquesToAvoidAndDetectDeadlocksIn.NETApps

DetectingDeadlocksinMultithreadedWin32Applications

UndertheHood--MSJ,January1996

[4]C#andVB.NETLibrariestoDigg,Flickr,Facebook,YouTube,Twitter,LiveServices,GoogleandotherWeb2.0APIs(调用Digg、Flickr、Facebook、YouTube、Twitter、LiveServices、Google和其他Web2.0API的C#及VB.NET类库)

很多Web2.0都提供了专门的API供其他程序调用,自然也有一些类库对这些API进行了封装。本文就列出了这样几个流行的Web2.0网站的调用类库,例如调用Flickr,只要使用如下语法即可:

PhotosSearchOptionsoptions=newPhotosSearchOptions();
options.Tags="blue,sky";
options.Extras|=PhotoSearchExtras.DateTaken|PhotoSearchExtras.OriginalFormat;
Photosphotos=flickr.PhotosSearch(options);


[5]UsingjQuerytoConsumeASP.NETJSONWebServices(使用jQuery调用ASP.NET的JSONWebService)

ASP.NETAJAX的客户端类库内建了对调用ASP.NET的JSONWebService的支持,不过只要“模拟”出同样的请求,任何的JavaScript客户端类库都能够一样调用。

这篇文章就介绍了使用jQuery调用ASP.NET的JSONWebService的方法,其实并没有任何技巧可言:

$(document).ready(function(){
$.ajax({
type:"POST",
url:"RSSReader.asmx/GetRSSReader",
beforeSend:function(xhr){
xhr.setRequestHeader("Content-type",
"application/json;charset=utf-8");
},
dataType:"json",
success:function(msg){
//Hidethefakeprogressindicatorgraphic.
$('#RSSContent').removeClass('loading');
//InsertthereturnedHTMLintothe<div>.
$('#RSSContent').html(msg.d);
}
});


[6]ASP.NETMVCFramework–Part2:Testing(ASP.NETMVC框架:第二部分:测试)

似乎MVC框架中对测试的关注程度非常高,最近好多文章都在介绍这个东西。这篇文章也是一步步地给出了通常的使用方法,从为什么要测试到如何测试。

下面就是对某个Controller进行测试的代码:

[TestMethod]
publicvoidAboutOverride()
{
HomeControllerForTestcontroller=newHomeControllerForTest();
controller.About();
Assert.AreEqual("Index",controller.SelectedViewName,
"ShouldhaveredirectedtoIndex");
}


[7]NewLogReporting,DatabaseManagement,andothercooladminmodulesforIIS7(IIS7的新模块:日志报表、数据库管理等)

Scott的一篇文章,其中介绍了花哨的IIS7中的另一些管理模块。例如这个日志报表:



不过实际上,我还是觉得从前的IIS6界面比较顺眼,使用了IIS7的时间也不短了,还是没有搞清楚某些功能在什么地方…………

[8]AddingFilterActiontoFileUploadControlofASP.NET2.0(给ASP.NET2.0FileUpload控件添加过滤功能)

所谓过滤功能,其实就是只允许上传某类扩展名的文件。不过实际上HTML中并没有此类内建的支持,因此若想实现此类功能,还是要靠客户端的JavaScript和服务器端自定义的验证逻辑配合。当然,个人感觉最好的方法还是使用专门的Flash上传控件。

[9]OnLoadvs.Page_Loadvs.Loadevent(OnLoad?Page_Load?还是Load事件?)

若想在Page加载时执行某些自定义操作,既可以覆写页面的OnLoad方法,也可以在默认的Page_Load中直接添加,还可以监听页面的Load事件,那么三者之间有什么区别呢?应该如何挑选呢?

本文就从性能、编程风格、代码一致性、是否面向对象等各个方面对上述三种方法进行了比较……

From:http://dflying.cnblogs.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐