在迅雷里有的资源的
Controller( )
虽然抽象类中定义了一个表示当前HttpResponse的属性Response 但是当BeginExecute方法执行的时候该属性尚未初始化 所以上面代码中使用的Response属性是我们自行定义的 运行该程序后会在浏览器中呈现出如图 所示的输出结果 从输出方法的调用顺序中不难看出在默认的情况下Controller是以异步的方式执行的 (S )
图 Controller在默认情况下的异步执行方式
现在按照如下的方式重写虚属性DisableAsyncSupport 使它直接返回True以关闭对Controller异步执行的支持
public class HomeController : Controller
{
//其他成员
protected override bool DisableAsyncSupport
{
get{return true}
}
}
再次执行我们的程序将会得到如图 所示的输出结果 可以看出由于HomeController间接地实现了IAsyncController接口 Controller的执行总是以调用BeginExecute/EndExecute方法的方式来执行 但是由于DisableAsyncSupport属性被设置为True BeginExecute方法内部会以同步的方式调用Execute/ExecuteCore方法 (S )
图 Controller在DisableAsyncSupport
属性为True的情况下的同步执行方式
ASP NET MVC应用编程接口中还定义了一个System Web Mvc AsyncController类型 从名称上看 AsyncController是一个基于异步的Controller 但是这里的异步并不是指Controller的异步执行 而是Action方法的异步执行 从如下的代码片段中可以看出 这个直接继承自抽象类Controller的AsyncController是一个 空 类型(没有额外定义和重写基类的类型成员) 在上一个版本中 以XxxAsync/XxxCompleted形式定义的异步Action方法均定义在继承自AsyncController的Controller类型中 考虑到向后兼容性 AsyncController在新的版本中保留下来
public abstract class AsyncController : Controller
{}
只有以传统方式(XxxAsync/XxxCompleted)定义的异步Action方法才需要定义在AsyncController中 ASP NET MVC 提供了新的异步Action方法定义方式 使我们可以通过一个返回类型为Task的方法来定义以异步方式执行的Action 这样的Action方法不需要定义在AsyncController中
返回目录 ASP NET MVC 框架揭秘
编辑推荐
ASP NET开发培训视频教程
Microsoft NET框架程序设计视频教程
Java程序性能优化 让你的Java程序更快 更稳定
lishixinzhi/Article/program/net/201311/16099
ASP.NET又称为ASP+,不仅仅是ASP的简单升级,而是微软公司推出的新一代脚本语言。ASP.NET基于.NET Framework的Web开发平台,不但吸收了ASP以前版本的最大优点并参照Java、VB语言的开发优势加入了许多新的特色,同时也修正了以前的ASP版本的运行错误。
ASP.NET就是属于WebForm,也就是平时说的B/S模式的开发。而WinForm就是属于C/S模式。
.NET有很多种语言组成,比如C#、 VB.NET、J#、Jsript、Managed C++,但是都是运行在.NET FrameWork Run Time底下的。
Asp.NET可以用C#或VB.NET来开发。编译后形成CLR,通过服务器的IIS+.NET FrameWork再次编译来运行。
扩展资料
ASP.NET和ASP的区别:
ASP.NET和ASP的最大区别在于编程思维的转换以及功能的增强。
一、ASP使用VB/JS这样的弱类型、面向结构的脚本语言混合html来编程,而非面向对象,这就明显产生以下几个问题:
1、代码逻辑混乱,难于管理。
2、代码的可重用性差:由于是面向结构的编程方式,并且混合html,所以可能页面原型修改一点,整个程序都需要修改,代码重用性差。
3、弱类型造成潜在的出错可能。
因此在功能方面ASP同样存在问题:
1、功能太弱,一些底层 *** 作只能通过组件来完成。
2、缺乏完善的纠错/调试功能。
二、ASP.NET理论上可以使用任何编程语言包括C#、VB.NET、JS、、J#、Managed C++等等,最合适的编程语言还是MS为.NET Frmaework专门推出的C#。
优点如下:
1、是面向对象的编程语言,简单易学。
2、具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,封装性使得代码逻辑清晰,并且应用到ASP.NET上就可以使业务逻辑和Html页面分离;继承性和多态性使得代码的可重用性大大提高
参考资料来源:百度百科-asp.net
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)