是否有一个很好的策略来记录ASP MVC应用程序上的用户活动?(ActionFilters/HTTPModules).
像上次用户活动的东西(就像StackOverflow"23分钟前看到的那样"),甚至是使用的页面和控制器,并进一步推动了点击的按钮或链接.
我安装了ELMAH但据我所知它只是用于错误记录.
PD:谷歌分析不是一个选项.
我正在尝试使用核心聚光灯从聚光灯搜索结果中打开视图控制器.
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray *restorableObjects))restorationHandler
{
if(self.window.rootViewController){
[self.window.rootViewController restoreUserActivityState:userActivity];
}
return YES;
}
Run Code Online (Sandbox Code Playgroud)
当应用程序已经在后台运行时,这似乎有效,但是当它关闭时我点击聚光灯搜索结果似乎没有调用此方法,我得到的行为是我的应用程序只是在主界面中启动.
当我的应用程序关闭时,你有什么建议让它工作吗?有没有办法调试正在发生的事情(因为我需要运行应用程序以连接调试器我不知道如何从搜索结果模拟应用程序打开)?
我创建了一个ASP.Net MVC 5Web 应用程序,其服务可供匿名用户使用。当匿名用户使用 Web 服务时,它会从数据库中进行一些查询。但是,出于安全原因,我的客户想要跟踪匿名用户的“可疑”活动。其中之一包括匿名用户每天查询的次数(以防止大量数据被“窃取”)。
有没有办法捕获这些信息?
对于注册用户,我们可以在被ApplicationUser调用者中创建额外的属性QueryNo并将其添加Claim如下:
public class ApplicationUser : IdentityUser {
public uint QueryNo { get; set; } //how many times this user has queried
public async Task<ClaimsIdentity> GenerateUserIdentityAsync(UserManager<ApplicationUser> manager) {
// Note the authenticationType must match the one defined in CookieAuthenticationOptions.AuthenticationType
var userIdentity = await manager.CreateIdentityAsync(this, DefaultAuthenticationTypes.ApplicationCookie);
// Add custom user claims here
userIdentity.AddClaim(new Claim("QueryNo", QueryNo));
return userIdentity;
}
}
Run Code Online (Sandbox Code Playgroud)
当我们想要跟踪它的活动时,我们可以简单地增加它的QueryNo每个查询活动。例如,当我们想要显示它时,我们可以简单地定义一个扩展,Identity如下所示:
public static class …Run Code Online (Sandbox Code Playgroud) 我使用函数“IOPMSchedulePowerEvent”来安排睡眠或唤醒事件,并使用“IORegisterForSystemPower”注册我的守护进程以接收电源状态变化。一切正常!
当系统进入睡眠状态然后在预定时间醒来时,我的守护进程会做一些工作,然后系统应该再次进入睡眠状态。
现在我的问题:
我如何检测系统是被用户唤醒还是按预定时间唤醒?
我如何检测用户当前是否在使用系统,因此守护程序不必将其置于睡眠模式???
谢谢诺比克