限制ASP.NET中访问特定页面的并发用户数量

3

我想知道有多少用户正在特定页面上,并限制其他用户未来的尝试。我有一家广播电台,使用简单的swfobject从我的系统向所有人播放音乐。

它完全正常,但我想仅限制在广播页面上的并发用户数。用户可以在任何页面上而不听收音机,但限制在此特定页面上的并发用户数。

我该如何做到这一点?

谢谢帮助。


这并不像听起来那么简单,因为你需要监控用户是否仍在该页面上,如果用户打开了多个相同页面的窗口怎么办?... 如果用户不是从你的页面而是从提供音乐链接的页面收听广播呢? - Aristos
你是如何提供音乐的?我认为提供音乐的链接应该是有限制的,而不是整个页面。 - Aristos
Aristos,我不明白用户为什么要打开两个窗口。我的意思是,他们在一个窗口中暂停,在另一个窗口中播放。是的,会有这样的用户,但我不指望有很多。我在硬盘上有MP3文件,并且有一个可以从硬盘播放的闪存MP3播放器。 - KAR
因为任何想要黑掉你的网站的人,都会打开很多窗口并阻止真正的用户。你需要检查 MP3 下载!而不是页面。 - Aristos
你是否能够找到任何关于这个问题的解决方案?如果可以,请在此分享。谢谢,Rajeev - user948305
2个回答

1

如果您可以将实际播放器隔离到其在IIS上的站点上,例如radio.yoursite.com,那么您可以使用IIS轻松地限制连接。该链接是指IIS 6,但是7应该有类似的选项。我想我试图表达的观点是,在页面级别上做这件事可能是一项具有挑战性的任务,但是如果您在站点级别上执行它,那么它可能会更容易,如果您可以将您的广播移动到自己的IIS站点,则是一个选项。


0

正如Aristos所指出的那样,这比说起来容易。

您可以轻松跟踪有多少人打开了页面,但是如果他们通过HTML链接离开,您将无法知道他们离开了。

有一些方法可以解决这个问题,但可能不太准确或优雅。

您可以使用AJAX轮询Web服务来跟踪谁仍在页面上。 如果系统在一定时间内没有收到特定ID的响应,则可以推断用户已经离开。


尼克,我可以从你的想法中改进。在播放音乐之前,我会发出一个“令牌”,并不断轮询其是否存在,根据此允许/禁止新用户。此外,我有一个强大的“退出”JavaScript / Ajax例程,可以用来捕获退出事件。 - KAR

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接