我们有一个ASP.NET 4应用程序,并使用silverlight作为一些模块。我们的应用程序的批量业务是在服务中。我们目前正在使用WCF 4从UI前端到后端进行调用。
我想在使用应用程序时跟踪用户的活动。我想到的一种方法是获取会话ID和用户,并将其传递到后端并将调用从主函数记录到数据库。
有没有人有另一个更清洁,更健壮的想法?
我知道这不是很多信息,但我至少需要一个起点。
答案 0 :(得分:1)
请参阅End-to-End Tracing以及Emitting User-Code Traces中的以下代码:
// Creating Activities
Guid oldID = Trace.CorrelationManager.ActivityId;
Guid traceID = Guid.NewGuid();
ts.TraceTransfer(0, "transfer", traceID);
Trace.CorrelationManager.ActivityId = traceID; // Trace is static
ts.TraceEvent(TraceEventType.Start, 0, "Add request");
// Emitting Traces within a User Activity
double value1 = 100.00D;
double value2 = 15.99D;
ts.TraceInformation("Client sends message to Add " + value1 + ", " + value2);
double result = client.Add(value1, value2);
ts.TraceInformation("Client receives Add response '" + result + "'");
// Stopping the Activities
ts.TraceTransfer(0, "transfer", oldID);
ts.TraceEvent(TraceEventType.Stop, 0, "Add request");
Trace.CorrelationManager.ActivityId = oldID;