ฉันได้สร้างห้องสมุดคลาสซึ่งใช้กระบวนการทางภูมิศาสตร์ Addin เรียกคลาสที่เป็นกระบวนการอะซิงก์ ฉันได้ทำให้แน่ใจว่าด้ายเป็น STA และ arcobjects เป็นด้ายปลอดภัย (เช่น. ไม่ผ่านจาก addin) arcobject ทั้งหมดถูกสร้างขึ้นภายในเธรด
เพราะนี่คือห้องสมุดชั้นเรียนฉันห่อมันไว้ใน winforms UI และยังเป็นส่วนเสริม รหัสทั้งสองชุดนั้นเหมือนกันทุกประการและทำการทดสอบโดยใช้ข้อมูลเดียวกันที่แน่นอน ทั้ง winforms และ addin กรอกรหัสด้วยผลลัพธ์ที่ต้องการและไม่มีหน่วยความจำรั่ว สำหรับกรณีของ addin ไม่มีการโต้ตอบกับช่วงเวลาของแผนที่ ณ จุดนี้และไม่มีการแมปหรือองค์ประกอบการแสดงผลในรหัส winforms
การอัพเดต UI เพียงอย่างเดียวคือการอัพเดทของกล่องโต้ตอบความคืบหน้าในทั้ง addin และ UI Addin กำลังใช้งานหน้าต่างที่สามารถเชื่อมต่อได้ (การควบคุมของผู้ใช้ UI)
ปัญหาที่ฉันเห็นคือเมื่อมีการเรียกไลบรารี่จาก addin การประมวลผลโค้ดช้ากว่ารหัสเดียวกัน 5 เท่าที่เรียกใช้ผ่านแอปพลิเคชัน winforms
ความคิดใด ๆ เกี่ยวกับที่ฉันอาจจะดูเพื่อดูว่าทำไมสิ่งนี้เกิดขึ้น?
Activator.CreateInstance
หรือกับnew
?