I try to use long as unique id within our C# application (not global, and only for one session) for our events. Do you know if the following will generate an unique long id?
Like a few others have said, only taking part of the guid is a good way to ruin its uniqueness. Try something like this:
var bytes = new byte[8]; using (var rng = new RNGCryptoServiceProvider()) { rng.GetBytes(bytes); } Console.WriteLine(BitConverter.ToInt64(bytes, 0));