ASP.NET用于生成会话ID?

时间:2009-08-04 15:12:52

标签: asp.net session sessionid

ASP.NET是否公开了它用于生成会话ID的基础函数?我想生成一个用于Web服务的会话令牌,但它不会放在Set-Cookie头中。如果ASP.NET已经有一个我可以用来生成会话ID的函数,这将使我不必自己滚动。

3 个答案:

答案 0 :(得分:5)

Reflector是你的朋友:

SessionIDManager.CreateSessionID()

internal static string Create(ref RandomNumberGenerator randgen)
{
    if (randgen == null)
    {
        randgen = new RNGCryptoServiceProvider();
    }
    byte[] data = new byte[15];
    randgen.GetBytes(data);
    return Encode(data);
}

答案 1 :(得分:1)

你不能System.Guid.NewGuid().ToString()吗?

答案 2 :(得分:0)

我不确定ASP.Net在底层使用什么,但您应该能够使用System.Guid.NewGuid().ToString()来获得一个独特的值。