乐观 发表于 2015-1-18 11:20:54

ASP.NET网页编程之C#和VB.NET取得Windows Runtime撑持和异步办法仓酷云

既然话题已经抄起,我打算今晚发篇博文再引导一下舆论方向,使它再火两天,抛砖引玉,而且赵劼先生一直在跟帖,使.NET阵营的我感到万分难得。C#和VB.NET将会取得新特征,好比说,WindowsRuntime撑持、异步办法和CallerInfo特征等等。别的,编译器也会取得一些API,把它对代码的懂得表露给IDE和开辟者。
微软的AndersHejlsberg在微软BUILD年夜会演出示了C#5.0和VB.NET的新特征。SamuelJack在他的博文《WhatsnewinC#5.0andVB.NET?》里给出了具体的列表。上面是新特征的择要:


[*]WindowsRuntime撑持:C#和VB.NET如今已深度整合到WindowsRuntime了——C#项目能够编译成WinMD文件,然后在HTML/JavaScript项目里援用。InfoQ之前已具体报导过这个特征了。
[*]异步办法:利用async和await关头字写异步义务加倍复杂,这在客岁PDC初次演示,然后再AsyncCTP供应预览。这些文章深切地探究了这个特征。
[*]CallerInfo特征:新的CallerFilePath、CallerLineNumber和CallerMemberName特征能够在可选办法参数上利用,帮忙猎取挪用方的具体信息,但不用从挪用办法传送出去。
[*]编译器API:这个特征应当在C#5.0以后出来。这些API将会经由过程语法树API、标记API、绑定和流程剖析API和EmitAPI向IDE和开辟者表露编译器对代码的懂得。你能够在这个MicrosoftResearch的视频取得具体信息。
这些新特征可使.NET开辟者的事情变得加倍复杂。好比说,上面这是完成属性变动关照的一个典范形式:
publicclassCustomer:INotifyPropertyChanged
{
publiceventPropertyChangedEventHandlerPropertyChanged;

privatestring_firstName;
publicstringFirstName
{
get{return_firstName;}
set{Set(ref_firstName,value,"FirstName");}
}


privatevoidSet(refTfield,Tvalue,stringmemberName)
{
if(!object.Equals(field,value))
{
field=value;
if(PropertyChanged!=null)
PropertyChanged(this,newPropertyChangedEventArgs(memberName));
}
}
}
这个形式的成绩在于很简单把代码搅散。假如你在set会见器里拼错属性的名字,大概你重定名了属性,那末它会寂静生效。
利用新的相似宏的特征能够制止这类生效:
publicclassCustomer:INotifyPropertyChanged
{
publiceventPropertyChangedEventHandlerPropertyChanged;

privatestring_firstName;
publicstringFirstName
{
get{return_firstName;}
set{Set(ref_firstName,value);}
}


privatevoidSet(refTfield,Tvalue,stringmemberName=null)
{
if(!object.Equals(field,value))
{
field=value;
if(PropertyChanged!=null)
PropertyChanged(this,newPropertyChangedEventArgs(memberName));
}
}
}
相似的,异步编程将会变得更简便,也会变得更经常使用,触摸界面将会请求年夜多半办法都是异步的。Silverlight开辟者将会对此感应欣喜。别的,就像Anders演示的“PasteasVB”和“PasteasC#”,编译器API将会为.NET工具开辟商带来更多的大概性。风趣的时候即刻就到了!
检察英文原文:C#,VB.NETToGetWindowsRuntimeSupport,AsynchronousMethods
译者李永伦从02年入手下手存眷.NET,读过4年工商办理,任过3届微软MVP,比来恋上Ruby。
我觉得很重要,一般所说的不重要应该指的是:你学好一种以后再学另一种就很容易了。(因为这样大家可能有一个错觉就是语言不是很重要,只要随便学一种就可以了,其实不是这样的。

乐观 发表于 2015-1-20 20:51:41

最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。

透明 发表于 2015-1-25 20:40:45

是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。

小妖女 发表于 2015-1-31 07:55:18

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码。

兰色精灵 发表于 2015-2-6 18:37:01

主流网站开发语言之JSP:JSP和Servlet要放在一起讲,是因为它们都是Sun公司的J2EE(Java2platformEnterpriseEdition)应用体系中的一部分。

小魔女 发表于 2015-2-14 01:52:06

那么,ASP.Net有哪些改进呢?

冷月葬花魂 发表于 2015-3-4 03:40:32

可以通过在现有ASP应用程序中逐渐添加ASP.NET功能,随时增强ASP应用程序的功能。ASP.NET是一个已编译的、基于.NET的环境,可以用任何与.NET兼容的语言(包括VisualBasic.NET、C#和JScript.NET.)创作应用程序。另外,任何ASP.NET应用程序都可以使用整个.NETFramework。开发人员可以方便地获得这些技术的优点,其中包括托管的公共语言运行库环境、类型安全、继承等等。

若天明 发表于 2015-3-10 16:48:20

关于ASP.NET功能上,ASP.NET比微软以前的ASP(96年出现)有更强大的library,更好的稳定性。ASP.NET可以使用.NETFramework中所有组件(也就是说.NET能实现的,ASP.NET一样能实现)。

愤怒的大鸟 发表于 2015-3-13 06:19:45

业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高,你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。

谁可相欹 发表于 2015-3-20 15:05:30

但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。
页: [1]
查看完整版本: ASP.NET网页编程之C#和VB.NET取得Windows Runtime撑持和异步办法仓酷云