我最近完成了我的申请,我遇到了一个很大的问题.我只需要允许一个用户一次访问它.每次都有一个可供每个用户访问的索引页面和"开始"按钮.当用户单击开始时,应用程序锁定,其他ppl需要等到用户完成.当用户关闭选项卡/浏览器时,应用程序必须自动解锁.每个用户都有5分钟的时间来使用我的应用.我部分地解决了我的问题,但它仍然无法正常工作 - 在每个站点上我设置了jquery脚本,每5秒触发一次服务器上的"extend.php"文件($ .get()函数).php文件修改time.txt文件(将其更改为time()+ 5)并且intex站点上的脚本检查是否(time()> time.txt内容).因此,当使用关闭选项卡/浏览器时,应用程序是可访问的.显然我的应用程序也基于会话(当用户关闭浏览器时,他失去了访问权限).在某些计算机上它根本不起作用(似乎jquery不会触发extend.php文件,它使我的应用程序始终可访问).所以我的问题是:你有没有其他方法来解决我的问题?
描述可能很混乱,但我想描述一切顺利;)
问候.
这是我的代码:
private string title(string pth) //I'm passing a path
{
pth = System.IO.Path.GetFileNameWithoutExtension(pth); // I need an exact filename with no extension
return pth.Substring(pth.IndexOf('-')+1, pth.Length).Trim(); // trying to return everything after '-'
}
Run Code Online (Sandbox Code Playgroud)
它引发了一个例外.我不知道为什么.从文件名中获取标题是一种非常简单的方法,但它不起作用.
我试过了pth.Length-1
,但它也没用.
这是一个片段:
Test & returnref(){
Test *obj = new Test();
cout << &obj << endl;
return *obj;
}
int main(){
Test &object = returnref();
cout << &object;
cin.get();
return 0;
}
Run Code Online (Sandbox Code Playgroud)
并且此代码生成以下内容:
0016FBC8
004D4B98
Run Code Online (Sandbox Code Playgroud)
为什么不呢
0016FBC8
0016FBC8
Run Code Online (Sandbox Code Playgroud)
?
我认为,如果我返回对动态创建的对象(在堆上)的引用,它应该是完全相同的对象,因此地址应该相等.
为什么我错了?