2013-02-20 36 views
1

每当用户启动应用程序时,我都会尝试获取唯一的会话ID。每次用户输入应用程序时都应创建此ID。 在Windows 8 WinJS API中有这样的功能吗?Windows 8 WinJS应用程序中是否有唯一的应用程序启动会话ID?

+0

这个会话ID的目的是什么?为什么不在用户激活应用程序时只生成一个GUID? – 2013-02-20 19:38:43

+0

此信息是用于跟踪目的所必需的,它将被发送到记录用户活动的服务器,并且我需要会话ID来区分应用程序会话。我无法自己生成一个,因为它的架构方式,每个会话可能会生成多个GUID。所以我想知道是否在Windows 8中已经有一些可用于每次启动的独特应用程序会话。 – bhavinp 2013-02-20 19:45:04

+0

你是什么意思“每个会话可以有多个GUID”?如果您不想要多个GUID,请生成一次并存储它。 – 2013-02-20 20:05:44

回答

1

这里是选择我的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); 
    }); 

如果你看它太久你的脑袋就会爆炸这样只需将其插入和使用它:)

2

会话ID是并有可能将永远是基于GUID因为随机性和碰撞非常非常非常难得的机会(副本ID)

如果使用CSHARP(我知道你是不是在这里,我LL地址),它只是因为你正在使用WinJS没有内置的Guid支持CS


var id = Guid.NewGuid(); 

您的应用程序启动时创建一个的问题,所以你可以创建一个Windows Store组件与发布你的应用程序,因此使用csharp来创建它,或者从JavaScript中生成一个(请注意源代码SO链接在这里,如果它ap单板层):

Create GUID/UUID in JavaScript?


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(); 
相关问题