跟踪在asp.net中的会话中查看的页面数量

时间:2010-11-22 15:36:38

标签: asp.net httphandler

我目前正在开展一个项目,我希望为每个.aspx实现一些逻辑。

我的想法是使用一个定位* .aspx的httphandler,在处理程序中,我会做一些逻辑,比如打印出来:这是你在这个会话中访问过的第x页。

我很好奇我的想法是否有任何问题,或者是否有一个我不了解的更合适的解决方案。

虽然我已尝试实施我的解决方案,但我遇到了无限循环。在我使用处理程序完成逻辑之后,我重定向到同一页面,但那当然会调用相同的处理程序。有没有办法绕过重定向处理程序或特定方式执行同一页面而不访问处理程序。

感谢您的帮助! 〜

4 个答案:

答案 0 :(得分:2)

您使用的是母版页吗?如果是这样,您可以简单地在主页的加载事件中增加会话变量的计数,并在此后的任何时间显示或写入DB。

答案 1 :(得分:1)

我想你可能意味着一个HttpModule - 一个处理程序是一个端点,你也不会有很多页面要显示。

我建议您将这样的计数器添加到根母版页。实现简单,没有流水线复杂性,可以将输出控制封装好后面的逻辑。

答案 2 :(得分:0)

您的处理程序不应重定向...

创建一个HttpModule并将其放在请求管道中。这样,您的代码将执行并添加您想要的信息,同时让页面本身在必要时执行。

或者你可以把Matt的想法放在母版页中。您可以更好地控制文本的位置,并且实现起来更简单。

答案 3 :(得分:0)

您应该使用IHttpModule来执行此操作。模块每个请求执行一次,其目的是与页面呈现无关,与处理程序不同。