//optimized serialization public void WriteToStream(Stream stream) { using (var writer = new BinaryWriter(stream)) { writer.Write(string.IsNullOrEmpty(UserName) ? "" : UserName); writer.Write(ExpirationTime.ToBinary()); writer.Write((uint)PermissionsToken); writer.Write(string.IsNullOrEmpty(Cookie) ? "" : Cookie); writer.Write(string.IsNullOrEmpty(ImpersonatedUserName) ? "" : ImpersonatedUserName); } }