记录 ASP.NET Web 用户的会话和会话更改

发布于 2024-08-13 12:48:55 字数 368 浏览 4 评论 0原文

这将是一个相当广泛的问题,非常欢迎任何建议、示例、链接!

我正在寻找一种好方法来记录用户会话以及网站上某一点的操作。

该网站是一个进行预订的网站。用户首先进行搜索,进行数据收集和选择的几个步骤,最后进行预订。

因此,我需要实现的是在用户执行的每一步中对当前会话变量进行某种记录。也许还有其他一些有效信息。日志记录最好记录到数据库中。

最后,我想将所有这些会话与预订参考相关联。目标是稍后如果预订出现问题或者我们需要调查情况时获得我们需要的所有信息。

我知道 log4net 是一种流行的日志记录选择,并且我自己也出于简单的目的使用了它,但找不到任何关于我的情况的好的例子。

这应该是一个常见的情况,我很好奇其他人是如何做到的。

This is going to be a quite broad question, and any suggestions, examples, links are very welcome!

I'm looking for a good way to log my users session, and actions on the site up to a certain point.

The site in question is a site for doing bookings. The users start with doing a search, doing a few steps of data gathering and selections and end up with a booking.

So what I need to implement is some kind of logging of the current session variables at each step the user takes. And perhaps some other valid information. Logging should preferably be done to the a database.

At the end i would like to associate all these session with a booking reference. The goal is to later if something goes wrong with the booking or we need to investigate a situation have all information we need.

I understand log4net is a popular choice for logging, and used it a bit myself for simple purposes, but can not find any good examples regarding my situation.

This should be a common situation, i'm curious how others do it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

莫言歌 2024-08-20 12:48:55

我有时设置的方法是创建两个表。每个会话保存一行,其中包含一些会话数据(id、时间戳、ip、用户名(如果有)、其他内容)和一个 session_data 表,每个会话包含几行,每行包含一个 sessionid(引用会话表)。一个键(描述记录的内容,如“entryform”、“searchform”或“orderform”)和一个包含序列化会话状态对象的 XML 字段。

使用 global.asa 的 session_onstart 在会话表中插入一行。根据需要在 session_data 中插入行。

我使用了简单的存储过程,但我认为您可以设置 log4net 来插入行。需要注意的是:我确实设置了一次 nlog 来记录会话和会话数据,但是 nlog (我想 log4net 也是如此)在其线程上记录并且并不总是写入数据库。我不再使用 nlog 来存储关键会话数据(但将其用于所有其他调试/日志记录/跟踪目的)

The way I've set this up sometime is to create two tables. One holds a row per session, with some session data (id, timestamp, ip, username (if any), other stuff) and a session_data table with a few rows per session, each row containing a sessionid (referencing the sessions table). a key (describing what is logged, like 'entryform', 'searchform', or 'orderform') and a XML field containing the serialized session state object.

Insert a row in the session table using global.asa's session_onstart. Insert rows in session_data as needed.

I used simple stored procedures, but I gather you can setup log4net to insert the row. One caveat: I did setup nlog one time to log the sessions and session data, but nlog (and I suppose log4net as well) logs on its on thread and does't always write to the database. I switched away from nlog for storing the critical session data (but used it for all other debug/logging/tracing purposes)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文