2012-01-24 4 views
1

У нас есть приложение ASP.NET 4 и использование silverlight для некоторых модулей. Основной бизнес нашего приложения - в услугах. В настоящее время мы используем WCF 4 для совершения звонков из интерфейса UI в бэкэнд.Как вы отслеживаете пользователя во всем приложении ASP.NET и архитектуре Backend SOA

Я хочу отслеживать действия пользователя при использовании приложения. Один из способов, который я думал о том, чтобы сделать это, - это получить идентификатор сеанса и пользователя и передать его на задний план и записать вызовы из основных функций в базу данных.

Есть ли у кого-нибудь другая идея, которая чище и надежнее?

Я знаю, что это немного информации, но мне нужна хотя бы отправная точка.

ответ

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; 
Смежные вопросы