Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk membetulkan 'Koleksi diubahsuai; Operasi penghitungan tidak boleh melaksanakan' ralat di WCF?
Penyelesaian masalah "Koleksi telah diubah suai; operasi penghitungan tidak boleh melaksanakan" ralat dalam WCF
Koleksi "yang mengecewakan" diubahsuai; operasi penghitungan tidak boleh melaksanakan "kesilapan sering hilang apabila debugging, menjadikan diagnosis sukar. Artikel ini mengkaji senario pelayan WCF tertentu dan menawarkan penyelesaian.Isu timbul dalam perkhidmatan Windows menggunakan kamus untuk mengesan pelanggan acara data. Mengeluarkan ID Pelanggan (UNUSSCRICTION) kadang -kadang menyebabkan kaedah
untuk membuang kesilapan ini. NotifySubscribers
, mengubahsuai kamus pelanggan semasa gelung SignalData
. Untuk menyelesaikannya, pertimbangkan untuk menukar gelung NotifySubscribers
: foreach
Kod Modified:
<code class="language-csharp">foreach(Subscriber s in subscribers.Values)</code>
Dengan membuat salinan
menggunakan<code class="language-csharp">foreach(Subscriber s in subscribers.Values.ToList())</code>, penghitungan beroperasi pada gambar keadaan kamus pada permulaan gelung. Mana -mana pengubahsuaian berikutnya kepada kamus asal tidak akan menjejaskan penghitungan, dengan itu menghapuskan kesilapan jika panggilan balik
adalah sumber masalah. Ini mengasingkan gelung dari perubahan luaran, memastikan pelaksanaan yang lancar. subscribers.Values
Atas ialah kandungan terperinci Bagaimana untuk membetulkan 'Koleksi diubahsuai; Operasi penghitungan tidak boleh melaksanakan' ralat di WCF?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!