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

asp.net会话中查看的页面的跟踪,asp.net,httphandler,Asp.net,Httphandler,我目前正在做一个项目,我想为每个被查看的.aspx实现一点逻辑 我的想法是使用一个以*.aspx为目标的httphandler,在这个处理程序中,我会做一些逻辑工作,比如打印:这是您在这个会话中访问的第X个页面 我很好奇我的想法是否有任何问题,或者是否有一个我不知道的更合适的解决方案 虽然我已经尝试实现我的解决方案,但我遇到了一个无限循环。在我完成处理程序的逻辑后,我重定向到同一个页面,但这当然会调用同一个处理程序。是否有一种方法可以绕过重定向上的处理程序,或者有一种特定的方法可以在不访问处理程

我目前正在做一个项目,我想为每个被查看的.aspx实现一点逻辑

我的想法是使用一个以*.aspx为目标的httphandler,在这个处理程序中,我会做一些逻辑工作,比如打印:这是您在这个会话中访问的第X个页面

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

虽然我已经尝试实现我的解决方案,但我遇到了一个无限循环。在我完成处理程序的逻辑后,我重定向到同一个页面,但这当然会调用同一个处理程序。是否有一种方法可以绕过重定向上的处理程序,或者有一种特定的方法可以在不访问处理程序的情况下执行相同的页面

谢谢你的帮助!
~

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

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

您的处理程序不应重定向

创建一个HttpModule并将其放入请求管道中。这样,您的代码将执行并添加所需的信息,同时根据需要执行页面本身


或者你可以把马特的想法放到主页上。您可以更好地控制文本的方向,而且实现起来更简单。

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

创建一个HttpModule并将其放入请求管道中。这样,您的代码将执行并添加所需的信息,同时根据需要执行页面本身


或者你可以把马特的想法放到主页上。您可以更好地控制文本的方向,而且实现起来更简单。

我想您可能指的是一个HttpModule-一个处理程序是一个端点,您也不会有太多的页面可显示


我会建议您将这样的计数器添加到根母版页。易于实现,没有管道复杂性,可以封装输出控件以及其背后的逻辑。

我想您可能指的是HttpModule-处理程序是一个端点,您也不会有太多的页面可显示


我会建议您将这样的计数器添加到根母版页。易于实现,没有管道复杂性,可以封装输出控件a及其背后的逻辑。

您应该使用。每个请求执行一次模块,它们的目的与页面呈现无关,与处理程序不同。

您应该使用。每个请求执行一次模块,它们的目的与处理程序不同,与页面呈现无关。

如果不使用母版页,则可以在Global.asax应用程序\u BeginRequest事件中执行相同的操作。如果不使用,则为True,但此请求似乎微不足道。如果你使用的是母版页,那真的很简单。我同意,这是一个很小的问题,但我只是想知道正确的解决方案,就像你和bechbd给我的那样。非常感谢!没问题。这就是为什么如此。如果您不使用母版页,您可以在Global.asax应用程序_BeginRequest事件中执行相同的操作。如果您不使用母版页,则为True,但此请求似乎微不足道。如果你使用的是母版页,那真的很简单。我同意,这是一个很小的问题,但我只是想知道正确的解决方案,就像你和bechbd给我的那样。非常感谢!没问题。这就是为什么这么做。