Bazı geoprocessing yapan bir sınıf kitaplığı oluşturduk. Eklenti, zaman uyumsuz bir süreç olan bir sınıfı çağırır. Ben iş parçacığı STA ve arcobjects iş parçacığı güvenli (yani. Addin geçti değil) sağladı. Tüm arcobjects iş parçacığı içinde oluşturulur.
Bu bir sınıf kütüphanesi olduğundan bir winforms UI ve ayrıca bir addin olarak sarılmış. Her iki kod kümesi de tamamen aynıdır ve test, aynı veriler kullanılarak gerçekleştirilmiştir. Hem winforms hem de addin kodu istenen sonuçlarla tamamlar ve bellek sızıntısı görülmez. Eklenti durumunda, bu noktada harita periyodu ile etkileşim yoktur ve winforms kodunda eşleme veya görüntüleme öğeleri de yoktur.
tek kullanıcı arayüzü güncellemeleri hem eklenti hem de kullanıcı arayüzünde bir ilerleme iletişim kutusunun güncellenmesidir. Eklenti takılabilir bir pencere kullanıyor (kullanıcı denetimi kullanıcı arabirimi).
Gördüğüm sorun kitaplık eklentiden çağrıldığında, kod yürütme winforms uygulaması denilen aynı koddan 5 kat daha yavaş.
Bunun neden olduğunu görmek için nereye bakacağım konusunda bir fikrin var mı?
Activator.CreateInstance
, yoksa ile new
mi yaratıyorsunuz ?