黑马程序员技术交流社区

标题: winform与ASP.net有什么联系 [打印本页]

作者: liangdmaster    时间: 2014-7-31 23:28
标题: winform与ASP.net有什么联系
两者有什么关系吗?比如我想学ASP.net必须先学习winform吗?
作者: ╃→梅飛揚之城    时间: 2014-7-31 23:36
第一个是C/s结构,也就是桌面应用程序
第二个是B/s结构,也就是动态网页
安装部署
WinForm:
WinForm允许使用ClickOnce进行“非接触”部署,即可以直接在用户的计算机上下载、安装和运行应用程序,而不必改变注册表。
ASP.NET:
ASP.NET没有客户端部署;客户端只需要一个浏览器。服务器必须运行Microsoft .NET Framework。对应用程序的更新通过在服务器上更新代码来完成。

图形
WinForm:
WinForm包括 GDI+,它使得游戏和其他有非常丰富的图形的环境可以有复杂的图形。
ASP.NET:
在ASP.NET时,交互式图形或动态图形需要来回访问服务器以进行更新。可以在服务器上使用GDI+来创建自定义图形。

响应
WinForm:
WinForm可以完全在客户端计算机上运行;它们能够为需要高度交互的应用程序提供最快的响应速度。
ASP.NET:
如果用户用较新的浏览器(IE5.0以上),ASP.NET应用程序可以利用浏览器的动态HTML(DHTML)功能来创建丰富的、具有响应能力的用户界面(UI)。如果用户有其他浏览器,大多数处理(包括与用户界面相关的任务,比如验证)需要往返于Web服务器,而这会影响响应,当然我们可以采用AJAX技术来改善应用体验。

窗体和文本流控制
WinForm:
WinForm网格定位可以对控件的位置提供精确的二维(x和y坐标)控制。若要在Windows窗体上显示文本,一般将文本插入到控件(例如 Label控件、TextBox控件或RichTextBox控件)中。格式化将受到限制。
ASP.NET:
ASP.NET界面基于HTML样式流布局,因此支持网页面布局的所有功能。它在文本格式设置方面的功能尤其强大。可以充分地管理控件布局(有某些限制,例如不能重叠控件)。如果用户有支持DHTML的浏览器,可以用二维(x和y坐标)布局来指定更精确的布局。

对于.NET Framework的依赖
WinForm:
WinForm需要在客户端计算机上运行.NET Framework。
ASP.NET:
ASP.NET客户端只需要一个浏览器。支持DHTML的浏览器可以利用额外的功能,而Web窗体可以被设计为适用于所有的浏览器。ASP.NET系统只需要在服务器运行.NET Framework。

访问本地资源(文件系统、系统注册表等)
WinForm:
如果允许,应用程序对本地计算机资源可拥有完全访问权。如果需要,可以精确地限制应用程序,使其不能使用特定的资源。
ASP.NET:
浏览器安全性防止应用程序访问本地计算机上的资源。

编程模型
WinForm:
WinForm基于客户端Win32消息转储模式,开发人员在此模式中创建、使用和销毁组件的实例。
ASP.NET:
ASP.NET依赖于在很大程度上异步的断开连接模型,在此模型中,组件松散地耦合到应用程序前端。通常,应用程序组件通过HTTP协议调用。此模型可能不适合要求用户端有极大吞吐量的应用程序或具有大量事务处理的应用程序。同样,ASP.NET应用程序可能不适合需要高级别并发控制的数据库应用程序。

安全性
WinForm:
WinForm在其代码访问安全性实现中使用权限,以保护计算机资源和敏感信息。这使功能得以被小心公开,同时保留安全性。例如打印权限,在某一级别上只允许在默认打印机上打印,在另一级别上则允许在任何一台打印机上打印。使用ClickOnce部署技术,开发人员可以轻松地配置应用程序应该和不应该向客户端要求什么权限。
ASP.NET:
通常,通过验证请求者的凭据(例如,名称/密码对),按URL控制获得访问ASP.NET应用程序资源的授权。ASP.NET允许开发人员控制执行服务器应用程序代码所使用的标识。应用程序可以用请求实体的标识来执行代码。应用程序也可以根据请求者的标识或角色来动态调整内容。例如,经理可以访问某一站点或更高级别的内容,而拥有较低权限的人则不能这样做。
作者: czwanglei    时间: 2014-8-1 00:17
楼上转载的不错。
作者: 倚楼听雨    时间: 2014-8-1 00:22
上楼这位大哥正解啊,基本上就我们新手来说,winform基本上就是指桌面应用程序,ASP.net基本上就是指基于.net平台开发的CS网站系统设计!可能没上楼解释得全面,但这是最基础的
作者: 深夜的空气    时间: 2014-8-1 12:11
╃→梅飛揚之城 发表于 2014-7-31 23:36
第一个是C/s结构,也就是桌面应用程序
第二个是B/s结构,也就是动态网页
安装部署

{:3_62:}好详细
作者: liangdmaster    时间: 2014-8-1 20:30
感谢二楼,很详细,但我看了还是不知道问题的答案。也就是说,我以后想往ASP.net方向发展,是不是就可以不学习winform而直接学习ASP.net了?
作者: 周星星同学    时间: 2014-8-4 22:19
winform肯定要学的,肯定要学习控件的。你做asp.net的话还是需要控件。其实都差不多会winform控件学期asp.net的控件一个道理
作者: 官方    时间: 2014-9-29 08:52
路过学习~~~
作者: MyOracleOCM    时间: 2014-10-3 10:32
一个是做桌面应用程序,一个是做网站的
作者: sadfgood    时间: 2014-10-3 13:40
学习了,貌似很深奥的样子




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2