โดยทั่วไปพวกเขาเป็นไปไม่ได้! มีโอกาสเป็นต่ำ astronomically
แต่ ... ฉันเป็นเพียงคนเดียวในโลกที่ฉันรู้จักนั่นมีการจัดระเบียบ GUID ครั้งเดียว (อ๋อ!)
และฉันก็แน่ใจและไม่ผิด
มันเกิดขึ้นได้อย่างไรในแอปพลิเคชั่นขนาดเล็กที่ทำงานบน Pocket PC เมื่อสิ้นสุดการดำเนินการคำสั่งที่มี GUID ที่สร้างขึ้นจะต้องถูกใช้ คำสั่งหลังจากที่ถูกดำเนินการบนเซิร์ฟเวอร์นั้นจะถูกเก็บไว้ในตารางคำสั่งบนเซิร์ฟเวอร์พร้อมกับวันที่ดำเนินการ วันหนึ่งเมื่อฉันทำการดีบั๊กฉันได้ออกคำสั่งโมดูล (พร้อมกับ GUID ที่สร้างขึ้นใหม่) และไม่มีอะไรเกิดขึ้น ฉันทำมันอีกครั้ง (พร้อม guid เดียวกันเนื่องจาก guid ถูกสร้างขึ้นเพียงครั้งเดียวที่จุดเริ่มต้นของการดำเนินการ) และอีกครั้งและไม่มีอะไรเลยในที่สุดพยายามค้นหาว่าทำไมคำสั่งไม่ทำงานฉันจึงตรวจสอบตารางคำสั่ง และ GUID เดียวกับที่ปัจจุบันถูกแทรก 3 สัปดาห์ที่ผ่านมา ไม่เชื่อสิ่งนี้ฉันคืนค่าฐานข้อมูลจากการสำรองข้อมูล 2 สัปดาห์และ guid อยู่ที่นั่น ตรวจสอบรหัส guid ใหม่ถูกสร้างขึ้นใหม่ไม่ต้องสงสัยเลยว่ามัน
แก้ไข: มีปัจจัยบางอย่างที่อาจเพิ่มโอกาสในการเกิดขึ้นอย่างมากแอปพลิเคชันนี้ทำงานบน PocketPC emulator และตัวจำลองมีคุณสมบัติบันทึกสถานะซึ่งหมายความว่าทุกครั้งที่สถานะถูกกู้คืนเวลาท้องถิ่นจะถูกกู้คืนด้วย และ guid จะขึ้นอยู่กับตัวจับเวลาภายใน .... นอกจากนี้ขั้นตอนวิธีการสร้าง guid สำหรับเฟรมเวิร์กขนาดกะทัดรัดอาจจะน้อยกว่าตัวอย่างเช่น COM one ...