日期:2014-05-17  浏览次数:20439 次

新人对微软提供的服务器控件的疑惑
最近发现微软提供的很多东西,像DataSource控件,vs中的工具箱中的那一组登陆控件,还有微软提供的profile服务,role Manager,Membership服务,在实际的项目中,都很少应用,这就衍生出了两个问题

一 微软开发这些控件的初衷是什么?难道它没有考虑到这些控件可能在实际的项目中很少使用吗? 
那它还为什么要开发这些东西?是为了让编程更简单?初学者更容易入门? 想不明白。。。。 

二 为什么,一些入门的书籍会花几章的篇幅讲解这些不实际的东西? 
最近在重温 asp.net3.5入门经典,和asp.net3.5高级编程时发现了这个问题,这两本书都花了一些篇幅去讲解微软提供的这些东西的使用方法,既然这些东西都不实用,为什么要花这么多篇幅来讲解呢?

------解决方案--------------------
安全性一直是一个开发框架最重视的东西。安全第一是所有行业的共识。

所以,不管你用不用,asp.net必须提供一个不管在理论上还是实际上都可靠的解决方案。否则它就是一个不完整的体系。至于你用不用,那是你的事。不过,你“自创”的安全方案绝大多数情况下都比不上它的。

只是因为它绝大多数时候需要扩展成结合自己的系统,而且扩展的代码量不比自己重新写来的少。所以用得人少。

至于DataSource控件,我认为用得还是比较多的。但我一般用ObjcectDataSource,很少用直接写sql的SqlDataSource或OleDbDataSource,但对于非常简单的开发来说,它是非常有效的。
------解决方案--------------------
1.所谓服务器控件,指的是基于服务器脚本的控件编程模型,
既可以是webControl,也可以是htmlControl,也可以是自己开发的控件,
微软提供的控件你不用,不代表别人不用;
2.用asp.net开发,不使用服务器控件就好比请了保姆,却不让人家干活
反过来,如果你不使用服务器控件,那就没什么必要用asp.net了;
3.就算是用html+js做web开发,建立一整套js控件体系也是基础工作之一,
如果直接用js操作dom或者html标签,js代码会非常庞大

------解决方案--------------------
profile服务,role Manager,Membership服务我都曾经用到过。
只是LZ少用罢了
------解决方案--------------------
楼主说的控件还真没怎么用过

至于DataSource控件几乎每次都用。。减少了很多工作量,也提升了不少开发效率

微软其实提供的全面的解决方案,包括各种各样的控件,大多数时候我们在应用中只是面对某一方面做软件开发,所以不会把所有的控件都能用上
------解决方案--------------------
啊 role provider挺好用的。可能因为这些在平时练习的时候大家都忽略了吧,一个不是专门练习安全知识的练习,一般都设置为“用户随便登录”
------解决方案--------------------
membership这个东西就是要用活的学习一堆的东西,刚学的用这个的不会自己扩展,和自己的东西结合不起来,所以就干脆不用,就自己弄个,如果能系统学习下,对他是怎么实现的比较清楚,能顺利加上自己的东西的话,还是很好用的,起码少些很多代码