Можете ли вы опубликовать один из GUID.Изображение кажется поврежденным.
См. http://en.wikipedia.org/wiki/Globally_unique_identifier, в частности, «Алгоритм».Вероятно, платформа, которую вы используете под Windows 2008 R2 x64, использует GUID версии 4.В этом случае GUID генерируется с использованием псевдослучайных данных.Поскольку процессор находится в том же состоянии, потому что вы возвращаете его из того, что, как я полагаю, является снимком памяти (верно?), А не снимком с выключенным питанием, вы получаете повторяющиеся числа от генератора псевдослучайных чисел.
ЭтоОперационная система довольно часто инициализирует псевдослучайное начальное число один раз при запуске, последовательно выбирая числа из списка, чтобы создать случайное число.Это происходит в мире Linux, и вполне вероятно, что вы наблюдаете такое же поведение.Поскольку последовательность чисел не была повторно инициализирована, и вы возвращаетесь к образу памяти, вы получаете те же числа.
Используя GUID Generator из VS 2010, я получил V4 GUID в Windows 7.
Чтобы решить эту проблему, я сначала попытался бы применить исправления безопасности Windows, которые могут решить проблему.Скорее всего, проблема заключается в ole32.dll, который вызывается в методе Guid.NewGuid, и, возможно, в более новых версиях повторяется псевдослучайное число, поскольку вы не получаете его в более новых версиях Windows.
В противном случае, чтобы обойти эту проблемуна текущей платформе вы могли бы:
Создать собственный GUID из MAC и данных времени, как указано в спецификации OSF.
Попробуйте позвонитьnew Random () до вашего вызова NewGuid.Вероятно, это будет длинный выстрел, но его легко протестировать.
Не возвращаться из образа памяти.
Надеюсь, это поможет.Без сомнения, вы не первый, кто столкнулся с этой проблемой, поэтому более новые платформы, вероятно, вернулись к предыдущему методу использования MAC и временных данных.