在websnap技术中,当访问者登陆了网站后,如何设置session呢?我又该如何知道在线人数呢?当然我知道书上有过这样的介绍,但我觉得太不适

84175971 2003-12-28 01:42:24
在websnap技术中,当访问者登陆了网站后,如何设置session呢?我又该如何知道在线人数呢?当然我知道书上有过这样的介绍,但我觉得太不适合实际情况了,请高手帮忙。
首先,“访问者”要对数据库验证,验证正确后如何设置session,
第二,我又该如何知道当前的在线人数,
第三,若该“访问者”不能查看该网页,又该如何设置该网页不能被查看呢?
第四,当“访问者”退出后又该如何删除session呢?

当然我也在其他书籍中查看过关于这方面的资料,但我总觉得书上的例子
太不适合实际,也太“格式化”了,
更本不适合灵活多变的网页访问要求,故想问一下大家,关于这方面理解,和使用
怎样的技术及代码。
...全文
8 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
84175971 2003-12-30
这个问题已有很多人问过,是因为你使用了ADO驱动引擎,
D6中用Websnap技术使用ADO不会出问题,
D7中用Websnap技术使用ADO会出问题,是因为微软的ADO有一个非常强大的功能那就是DCOM协议,而自从D7推出后对ADO的支持弱化了,因此变成现在这样,
当D8推出时,ADO已经不在出现在D8中,这个过程很明显是要突出Delphi自己数据库驱动引擎
那就是DBExpress,
在我的各方面的测试中,DBExpress确实可以,有很多地方超出了ADO的性能,在此已经可以说明垄断不得人心,人们需要的是可以跨平台的操作系统,我们也需要UNIX、Luinx……等稳定性安全性高的操作系统,在我使用中UNIX真的太稳定了,开机一年也未重启过,
在未来的网页中还是要在这样的系统中运行。
因此我建议你使用DBExpress,
如果你一定要使用ADO话,你需要修改一下代码了:

use activex
……
procedure WebPageModuleCreate(sender:TObject);
begin
coinitialize(nil)
end;
回复
ranhefei 2003-12-30
问楼主个问题
我也是用WEBSNAP做B/S模式的管理系统
可是我点击管理信息时常出来这样的提示
人尚没有调用coinitialize
请高手说一下问什么
我用的是IIS
2000 SERVER系统
回复
84175971 2003-12-30
session可以说是Websnap技术中的重要性占了70%,掌握好session,自我认为
就已经是网站开发熟手了,
不过如果是数据库管理类型的就要还要继续学一段时间了,
多谢大师指点,
让我再考虑一下细节问题,
总之,是决对不能使用书本上的介绍的例子,那样的话,就没有把websnap技术
发挥出来了。

随便问一下花大师,你除了会websnap技术外还会什么网页技术呢?
是JSP,是ASP,是WEBSERVER,是…………?
回复
hiflower 2003-12-29
首先要放置 SessionsService 组件
1 如果用的自动登录验证,则不需要你设置。
如果自己做的,则可用 WebContext.Session.Values['Logged']:=True/False 来设置,以后自己判断这个值。

2 在线人数要用一个全局变量由程序来统计。可在 SessionsService 的 OnStartSession OnEndSession 中进行。

3 第一种方法是 WebSnap 中文手册 中“访问权限”部分所讲。
 第二种方法由你控制,在 BeforeDispatchPage 事件设置 Handled:=True ,则此页不再响应到客户端;你也可以用 SendRedirect, DispatchPageName,RedirectToPageName 转到指定的页

4 如 1 所述
回复
84175971 2003-12-29
up
回复
发动态
发帖子
网络通信/分布式开发
创建于2007-08-02

1565

社区成员

Delphi 网络通信/分布式开发
申请成为版主
社区公告
暂无公告