先简单回顾下asp.net过去十年
mvc流行前
asp.net的服务端控件,将html和js一起封装,很多客户端事件自动通过生成的js将数据重新post回服务端。而对于很多刚入门的小伙伴来说,仅仅靠拖放控件和写C#代码就可以实现一个可用的Web项目,大大降低了入门门槛。相应的,服务端控件这种过度耦合的设计带来了很多缺点:自定义控制难,难以纯粹将前后端分离,导致asp.net从业人员既不能精通前段技术,又不能涉猎更多的后端技术(生态问题)。
这个年代,.net被贴上了“拖放控件”的标签。
mvc流行后
微软推出了asp.netmvc,很多公司已经开始尝试前后端分离。就模式上面来说,已经和其它语言平台基于mvc的web项目开发模式无异。
但是asp.net本身的服务框架太杂乱,尤其是艰难(如果你留意过,甚至可以说难产)支持asyncawait异步编程后,他的同步上下文模型缺点太大:首先是源码的结构混乱,其次是使用过程很多人容易造成死锁,异步方法使用不当导致请求已返回上下文已释放然后找不到同步对象导致的异常。问题的根源是大部分程序员对线程了解不深,如果项目有正确的规范用法还好,一旦没有,产生异常很多人根本不知道问题出在哪里。博客园改造过程中就出现过的死锁,有兴趣的可以去看看博客园官方博客写过。
aspnetcore
新应用程序模型设计和代码实现,我非常喜欢。其它的不说,看看那简洁的Reqeust和Response对象,是不是就会让你欣喜?再看看中间件管道,上下文(Context)通过委托链链一路传递,再也不用晦涩的同步上下文,也移除了和Windows安全相关的特征。
整个架构更加清晰,喜欢做扩展的人绝对会有一日看尽长安花的快感。
自然性能也不用说,可以关注github上微软之前做过的除了mvc之外的性能测试对比。
net生态
拥抱开源后,netcore,standard,aspnetcore,efcore等一系列实现全部都有了,明年的netcore3.0还会包含客户端模型(wpf和winform,只能在windows下使用)。
github上面aspnet,dotnet,dotnet-architecture等分支包含大量微软直接维护的开源项目。
开源社区大部分的项目已经跟进将三方组件基于standard标准打包。
微软也久违地把散乱的文档汇集到docs子域名下
万事剧本,就欠生态!如果apache基金会下面的重要项目都有.net的分支,相信依靠netcore必定可以再次抢占不少的份额。
前景
微服务流行后,其实内部可以混合多种平台提供服务,用aspnetcore做对三方组件需求不太大的业务服务是完全的可以的,基于微软一贯的作风,开发效率是很高的。
其实现在很多内部系统在用.net,只是面向互联网相关的项目,更加需求丰富的三方资源,采用.net的比较少。不过很多大的公司都有.net的分支团队。毕竟在桌面和开发效率上的优势,还是有他存在的价值。
aspnet到底会如何发展,个人感觉还是要看社区的反应,要看生态是否能逐步丰富起来。
看在微软这么努力的份上,个人挺希望他能够扳回一局。
所以?
眼光放长远一点,平台只是我们的工具,一个IT人不应当把自己的技术范围限定到某一个平台。多学多积累,实际项目中应该针对需求、架构以及团队做出选择。
比如Java和.net同时掌握,各取所长,基于他们重叠性较高的原因,学习成本并不高。何况绝大部分的知识和平台并无关系。
个人见解纯手打,欢迎大家评论或者提出意见。
ASP.NET3.5网站开发实例教程?
首先运行visualstudio2015进入vs2015主画面
找到左上角的文件依次找到文件->新建->项目
在打开的新建项目窗口中,找到我们的framwork版本我们选择ASP.NET3.5
选择ASP.NET3.5后,在左侧找到web项目选择ASP.NET空web应用程序
接着定义我们的应用程序名称和位置设定完成后,选择确定,选择确定后,就会根据我们的设定,生成应用程式所需的文件和框架目录结构见下图
因为我们是创建的空应用程序所有整个目录结构很简单我们可以右键单击我们的应用程序,选择属性来确认我们当前的框架是否使用的是ASP.NET3.5
接着我们就可以开发我们的web应用程序了我们新建一个aspx页面简单的填入以下内容:<%@PageLanguage=C#AutoEventWireup= rueCodeBehind=WebForm1.aspx.csInherits=WebApplication1.WebForm1%>
撰写代码完成后,保存并运行就可以了这样一个简单的web应用程序实例就创建完成了
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)