我在现有系统中创建了新的应用程序。我的应用程序中的一项功能需要锁定过程。一旦用户选择了记录,这应该禁用当前登录系统的所有其他用户的选项/按钮编辑。我有一个功能,用户可以激活onClick
(在解锁按钮上)或用户注销。此功能将删除用户的记录。这一切都很好,我没有遇到任何问题。
之后我注意到有些记录被锁定超过一天。所以这引起了一些问题。我尝试在我的应用程序中调试并检测问题。我认为发生了一些用户从不注销系统他们只是关闭浏览器。在这种情况下,应该负责删除记录的函数永远不会被触发。我想知道如何解决这个问题。
有没有办法检查用户是否不再有效?我提出的一个可能的解决方案是每隔5分钟发送一次ajax调用。如果该调用将返回false,那么我将删除锁。我还不确定在哪里发送ajax电话。应该发送到Application.cfc还是其他地方?如果有人能给我一些例子或建议会有所帮助。
另外我想提一下,我试图为我的应用程序设置Application.cfc页面,但如果我点击我的应用程序页面的链接将返回空白。以下是我的例子:
<cfcomponent output="false" extends="Map.Application" hint="Secondary application event handler">
<cffunction name="onRequeststart" access="public" returntype="boolean" output="false"
hint="Handles pre-page processing for each request.">
<cfargument name="thePage" type="string" required="true" hint="I am the template requested by the user."/>
<!--- This application.cfc is extending the root Application.cfc --->
<cfif SUPER.OnRequestStart( ARGUMENTS.thePage )>
<cfset REQUEST.AppName = "myApp">
<cfreturn true />
<cfelse>
<cfreturn false />
</cfif>
</cffunction>
</cfcomponent>
答案 0 :(得分:0)
您不需要使用Ajax。 只需使用本机cfschedule为登录用户加载检查器即可。 您可以在db中保留登录用户详细信息。 一旦db值与登录用户存在差异,就会将页面加载到最终用户会话。 这只有在您知道用户何时关闭系统时才有效。显然没有退出。