ASP现在有人写出框架吗?

iamXiaMi 2008-03-16 10:19:13
我说的框架不是HTML的FRAME

而是Framework...

PHP有很多框架,现在Zend也出了个~
甚至是Smarty也可以称为分离View的非常轻的框架~

以前听CSDN上有人说正开发基于ASP,非COM的View层的框架...不知道现在有完成版吗?~


我参考了下DISCUZ的分离模板的方法,有点不强的Smarty的味道~
其实JS的正则并不弱,也能实现,但唯一解决不了的就是PHP的require的实现,如果利用Server.Eexcute的话,可恶就可恶在无法把变量赋到被执行的页面上~很难剥离显示层~不知道有其他什么可行的办法?!


DVBBS以前我不清楚,从7.0后就一直采用XSLT的方法来剥离显示层~
现在DVBBS自己也承认这种方法不好,从8.2开始好像从他们的结构图上是利用了一种类似DISCUZ的方法,但是我从RC1的更新补丁中,看不出他们到底用了什么方法来实现他们的新结构...好郁闷~不清楚有米有人也看了他们的RC1的更新补丁?~



有ASP的框架吗?~ASP实现了我第一个WEB程序,不想ASP完蛋啊~
...全文
353 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
hookee 2008-03-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 iamXiaMi 的帖子:]
如果利用Server.Eexcute的话,可恶就可恶在无法把变量赋到被…
[/Quote]

到是可以考虑用Session,这种情况下用Session和一般情况下使用有区别:
一般情况session存在于两次请求之间,而这种情况下session是存在于一次请求之间,
Server.Execute的页面保存变量,到View asp中读取,取完即可Abandon,
这样就不牵涉到状态转移,所以做负载均衡之类的都没问题。
不过要解决的是Session中存什么,存数字、字符串过于繁琐,Hash表是理想的
无奈windows脚本所提供的Dictionary的线程模型又不合适session存储,
所以要找一个效率高点的Hash表组件,还好有免费的。

关于View
我写过的asp mvc没有专门针对View写,我是从成本角度考虑。
asp的长处就是页面显示的简单性,光<%=xx%>几乎没有难度,
View的设计完全可以保留这种简单性,最初级的程序员也容易掌握吧,
只要避免在View中包含业务逻辑,纯粹显示,开发成本是很低的,几乎等于HTML.

如果是基于模板的开发那就要针对View再做开发了。


hookee 2008-03-17
  • 打赏
  • 举报
回复
在我说的情况下,session值只存在于一次请求之间(Execute是不产生新的请求的),不知道有没有理解我说的意思
此时session并不是持久保存的,(当然用完还是靠系统回收,不过在业务层次上持久期间减到最小)
不会存在“随SESSION的HASH增大”的情况,当然会为每次链接建立新的session对象
你说的输出20行的表,我就存在一个多维hash表中,然后用session传递,
到view层,只需要 set rs = session("data"), 然后可以,<%=rs("xxx")%>, 几乎和recordset一样使用
我的实际应用来看,该方案尚未暴露出因此类session应用产生问题,至少在我接触的应用范围内还是可行的。

我的方案确实不适合虚拟机,因为用了一些基础组件来期望提高性能。
虚拟机的限制太多,要用纯asp真正实现分离比较困难,况且很重要的一点是后续应用开发的难易度,
如果和传统asp比较工作量增大的话那用框架的意义不大了。

iamXiaMi 2008-03-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hookee 的回复:]
引用楼主 iamXiaMi 的帖子:
如果利用Server.Eexcute的话,可恶就可恶在无法把变量赋到被…


到是可以考虑用Session,这种情况下用Session和一般情况下使用有区别:
一般情况session存在于两次请求之间,而这种情况下session是存在于一次请求之间,
Server.Execute的页面保存变量,到View asp中读取,取完即可Abandon,
这样就不牵涉到状态转移,所以做负载均衡之类的都没问题。
不过要解决的是Session中存什么,存数字、字…
[/Quote]


不是的,你说的SESSION组件我没用过,但是对虚拟机来说,很不现实,对吧~

默认的SESSION本来就是HASH~至少像HASH,但是缺点很明显,SESSION只能存放字符串,可能说ASP出现得比较早的原因吧,因为在.NET里,SESSION就可以存放对象了~这导致SESSION的可用性不高~
而且SESSION是个持久的对象,在用户彻底和服务器断开之前,SESSION持久保存~这样对服务器的内存要求很高,这样不好~!连.NET都利用HIDDEN的DATAVIEW来减少对SESSION的利用!其实最终目的是输出HTML后释放内存,但是SESSION做不到,因为一旦输出后,ASP程序则要到下一次才被执行,而执行的时候又要利用到SESSION……根本没办法释放!(SESSION确实有数据存放在COOKIE里,但是服务器为每个SESSION建立对象是肯定的,而且对象会随SESSION的HASH增大而“填充”,不是吗?~)

而相比require的话,require是一次执行,而且几乎不占用CPU,还很灵活~~现在就是想不到这么解决这个传递变量的问题,不知道DVBBS的什么好的办法?~


如果我要传递一个ADODB的对象,用来输出一个20行的表,SESSION是绝对不可能用啊~~
wpjwll 2008-03-17
  • 打赏
  • 举报
回复
up
ice241018 2008-03-16
  • 打赏
  • 举报
回复
现在执行速度比以前快了
与到标签就解析
iamXiaMi 2008-03-16
  • 打赏
  • 举报
回复
对了...DVBBS 8.2 AC版本发布了...

但是DVBBS的主页还是8.1的~~~


是不是读入文件..替换标签块..然后输出?~~~



因为没有类似PHP的require,无法显示动态包含..那么是不是每次都需要读入模板文件..然后正则判断解析,替换...输出~

这样效率不是很低?~
iamXiaMi 2008-03-16
  • 打赏
  • 举报
回复
动网8。2采用了自定义标签的技术


我看过他们的结构图~~但是他们的RC1补丁却找不到实现的地方~
基本上还是XSLT~但是CSS却改动了很多!
tantaiyizu 2008-03-16
  • 打赏
  • 举报
回复
有必要吗?
ice241018 2008-03-16
  • 打赏
  • 举报
回复
没有用过什么asp框架
动网8。2采用了自定义标签的技术
正在研究。。。。

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧