พื้นหลัง:
ฉันมีปัญหากับส่วนประกอบซึ่งเปลี่ยนวัฒนธรรมเธรดปัจจุบันเป็น "en-US" ทุกครั้งหลังจากการเรียกไปยังวิธีการเฉพาะของมัน นอกจากนี้ในกระบวนการของฉันที่นำไปสู่ปัญหาเช่น เลเยอร์การเข้าถึงข้อมูลไม่ทำงานอีกต่อไปเนื่องจาก CultureInfo ของ SqlParameter ได้รับการเปลี่ยนเป็น "en-US" ด้วย ดังนั้นสตริงที่กำหนดจึงไม่สามารถแยกวิเคราะห์เป็น DateTime SqlValue อีกต่อไป
วิธีแก้ปัญหาที่เป็นไปได้:
ดังนั้นแนวคิดก็คือการสำรองข้อมูลเธรดวัฒนธรรมปัจจุบันก่อนและเรียกคืนในภายหลังการเรียกไปยังวิธีการเฉพาะซึ่งเปลี่ยนวัฒนธรรมเธรดปัจจุบัน เมื่อฟื้นฟูวัฒนธรรม ก่อนอื่นฉันจะตรวจสอบวัฒนธรรมว่ามีการเปลี่ยนแปลงหรือไม่
ปัญหา/คำถาม:
ฉันสามารถเปรียบเทียบ CultureInfo.Name
ที่สำรองข้อมูลไว้กับ Thread.CurrentThread.CurrentCulture.Name
ได้ แต่ฉันสามารถใช้เมธอด .Equals()
ของอินสแตนซ์ CultureInfo ได้ วิธีไหนดีกว่าในการเปรียบเทียบสองอินสแตนซ์ CultureInfo อาจมีวิธีแก้ปัญหาที่สามหรือดีกว่านี้ไหม