1. 我们知道,ASP.NET中的ObjectDataSource是最具特色的一个数据源控件,它可以快速建立网络N层结构,那么可不可以介绍一下,使用DataSet和ObjectDataSource是怎么整合起来快速建立一个N层架构的网络应用的?
可以通过建立一个Dataset对象,因为ADO.NET 2.0里提供了TableAdapter,可以对单个表格提供添查删改的操作,所以等于用dataset做实体层和数据接入层,而objectdatasource则是这个数据接口层的接口。这一内容在MSDN WEBCAST里面的ASP.NET 深入开发当中有一节专门的课程叫做“快速开发三层架构应用”进行了详细的介绍。
2. 现在的ASP.NET 2.0网站提供了新的编译和发布技术,对ASP.NET2.0本身不但考验了性能,对各种滞后编译技术也有新的变化,请介绍一下如何编译和发布一个ASP.NET 2.0网站?编译和发布时应着重注意哪些方面?
ASP.ENT 的编译发布机制依托于VS2005的IDE环境非常容易实现,MSDN WEBCAST asp.net快速入门也有专门一讲介绍,这里不太方便发太多截图,所以建议你去看看哪一讲。至于问题,我认为主要是根据发布以后修改的频繁程度采用不同的预编译方式,这样可以有效的提高性能。
3. 有这样一种情况,在访问量很大的网站,需要把页面在本地生成静态页,那么使用IO技术来生成静态页面作为缓存,从而为超大访问量的网站服务的过程是怎样的?
简单的说这种操作就是使用一般的streawrite对象把内容直接输出,在ASP.NET 2.0里可以使用Ihttphandle对象的继承对象来做相关的设置,会方便一点。
4. 从JAVA开发转向ASP.NET开发肯定有其优势所在,.NetFramework2.0是从JAVA转向ASP.NET平台中采用的技术,是否可以讲一下ASP.NET2.0和.NetFramework2.0 之间的联系?我不是很清楚这些技术之间的联系。
可以这样认为.net framework是一个runtime+class library,而asp.net 则是一种基于.net framework的应用技术。
5. JAVA平台下的开发既然可以转移到ASP.NET平台上来,这其中对项目进行整合以及迁移的步骤到底是否易于上手?一些移植的工具如Java Language Conversion Assistant方便使用吗?
目前可能还需要手工继续做一些工作。
引用:
专家回复:
1. 我们知道,ASP.NET中的ObjectDataSource是最具特色的一个数据源控件,它可以快速建立网络N层结构,那么可不可以介绍一下,使用DataSet和ObjectDataSource是怎么整合起来快速建立一个N层架构的网络应用的?
可以通过建立一个Dataset对象,因为ADO.NET 2.0里提供了TableAdapter,可以对单个表格提供添查删改的操作,所以等于用dataset做实体层和数据接入层,而objectdatasource则是这个数据接口层的接口。这一内容在MSDN WEBCAST里面的ASP.NET 深入开发当中有一节专门的课程叫做“快速开发三层架构应用”进行了详细的介绍。
2. 现在的ASP.NET 2.0网站提供了新的编译和发布技术,对ASP.NET2.0本身不但考验了性能,对各种滞后编译技术也有新的变化,请介绍一下如何编译和发布一个ASP.NET 2.0网站?编译和发布时应着重注意哪些方面?
ASP.ENT 的编译发布机制依托于VS2005的IDE环境非常容易实现,MSDN WEBCAST asp.net快速入门也有专门一讲介绍,这里不太方便发太多截图,所以建议你去看看哪一讲。至于问题,我认为主要是根据发布以后修改的频繁程度采用不同的预编译方式,这样可以有效的提高性能。
3. 有这样一种情况,在访问量很大的网站,需要把页面在本地生成静态页,那么使用IO技术来生成静态页面作为缓存,从而为超大访问量的网站服务的过程是怎样的?
简单的说这种操作就是使用一般的streawrite对象把内容直接输出,在ASP.NET 2.0里可以使用Ihttphandle对象的继承对象来做相关的设置,会方便一点。
4. 从JAVA开发转向ASP.NET开发肯定有其优势所在,.NetFramework2.0是从JAVA转向ASP.NET平台中采用的技术,是否可以讲一下ASP.NET2.0和.NetFramework2.0 之间的联系?我不是很清楚这些技术之间的联系。
可以这样认为.net framework是一个runtime+class library,而asp.net 则是一种基于.net framework的应用技术。
5. JAVA平台下的开发既然可以转移到ASP.NET平台上来,这其中对项目进行整合以及迁移的步骤到底是否易于上手?一些移植的工具如Java Language Conversion Assistant方便使用吗?
目前可能还需要手工继续做一些工作。
引用:
专家回复:
关于第3点的ASP.NET性能优化,我有些想说的。呵呵,抛砖引玉吧。
谈到大访问量的网站,我们一般把动态页面Cache成静态页面是常用的办法。ASP.NET在这个方面是通过ASP.NET Caching来实现的。在很多情况下,如果非时效的页面能够大大提升性能,他们时刻接受的。例如一个电子商务网站的应用需要返回产品列表,如果每一次对该页面的访问都会需要产生数据库的访问,这样的做法将会占用大概几百万的CPU时间。
ASP.NET页面输出缓冲(ASP.NET page output caching,可以上网上查查,有很多内容)可以帮助我们优化网站,使得不需要过多的执行页面中的服务器端代码。
@OutputCache指示器是一个ASP.NET页面中的一个修饰符号。例如<%@ OutputCache Duration="60" VaryByParam="None" %>。这个指示器能很大的提升经常被访问的页面的性能。当然这个指示器还有很多可订制的参数,例如将缓冲的页面输出到什么目录下,页面的缓冲是否依赖于数据库的表的变化,每一次页面的缓冲多少时间,等等。
呵呵,时间有限,但想说的很多。如果大家关心这个的话,可以去看看http://www.microsoft.com/china/msdn/webcast/ 里面有很多关于性能调优的课程,也许能够帮助到大家。
引用:
专家回复:
关于第5条问题,我有几点看法,一样是抛砖引玉,;-)
大家知道这个JLCA不是万能的,首先我们不提倡将所有的JAVA应用转到.NET平台,如果做也是不得已。转换的代价会很好,但是的确能很大的提升性能。一般来讲一些Java 1.1.4的程序,用J#就可以直接将Java程序转换成MSIL,这种转换是几乎100%成功的。如果使用J2EE的大型应用,直接转换是不现实的,一般可以达到将80%~90%的代码转换过来,剩下的还需要手工调试。JLCA使用与一些大型项目中一些Component的转换,比如Java Bean,在转换过程中还需要人工的设计架构在先,Component转换在后(这是可以使用JLCA)。
更多的情况下,如果想把一些传统的Java系统迁移到.NET上,采用J+N技术也是提倡的。例如使用JNBridge工具。
[
本帖最后由 欧岩亮 于 2007-11-22 14:46 编辑 ]