在Windows 8 WinJS应用程序中启动应用程序是否有唯一的会话ID

Is there a unique session ID for an application launch in Windows 8 WinJS Application?

本文关键字:应用程序 唯一 ID 会话 是否 启动 Windows WinJS      更新时间:2023-09-26

每当用户启动应用程序时,我都会尝试获得一个唯一的会话id。每次用户进入应用程序时都应创建此ID。在Windows8WinJS API中有类似的功能吗?

由于随机性和非常非常罕见的碰撞(重复id)机会,会话id现在和将来都是基于GUID的

如果使用csharp(我知道你不在这里,我会解决这个问题),只需在cs中的应用程序启动时创建一个即可


var id = Guid.NewGuid();

由于您使用的是WinJS,因此没有内置的Guid支持,因此您可以创建一个Windows应用商店组件与您的应用程序一起分发,从而使用csharp来创建它,或者使用JavaScript生成一个组件(如果适用,请对链接到此处的源so帖子投赞成票):

在JavaScript中创建GUID:UUID?


function s4() {
  return Math.floor((1 + Math.random()) * 0x10000)
             .toString(16)
             .substring(1);
};
function guid() {
  return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
         s4() + '-' + s4() + s4() + s4();
}
var uuid = guid();

这是我选择的GUID创建函数。。。

createGuid: function () {
    return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {
        var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);
        return v.toString(16);
    });

如果你看得太久,你的头会爆炸,所以只要插上它就可以了:)