Bu makale makine çevirisi ayna makalesidir, orijinal makaleye geçmek için lütfen buraya tıklayın.

Görünüm: 24385|Yanıt: 4

[Kaynak] C# programları sadece bir örnekin doğru kodu çalıştırmasına izin verir

[Bağlantıyı kopyala]
Yayınlandı 10.12.2016 14:55:50 | | | |


Bilgisayarın sadece bir kez çalıştırmasını istediğim bir trafik izleme yazılımı yazdım ve kod şöyle:



Hemen bul, yazılıma tıklayın, "Bir örnek çalıştırıldı" sorusu gelir, fakat30 saniye bekledikten sonra yazılıma tıklayın ve tekrar başarılı şekilde çalışıyorBir kez!!

Yazık.Yukarıdaki kod DEBUG modunda sorun değil, ama RELEASE'de çalışmıyor.
Sorun şu ki, Mutex yerel değişken olarak ilan edilmiş ve optimizasyon sorunları nedeniyle relese modunda olmasıdır; muhtemelen derleyici Mutex'in artık kullanılmadığını düşündüğü için

kendim kullandım, geri dönüştürdüm, test ettim,

Üstüne Mutex koy ve onu statik değişken olarak ayarlayarak !!SağKod şöyledir:





Puan

Katılımcı sayısı1MB+1 Katkı+1 Çökmek sebep
Öğrenmeyi seven küçük bir acemi + 1 + 1 Mesela bir tane!

Tüm puanları gör





Önceki:C#, uygulamanın yalnızca bir örneğinin doğru yazılmasına izin verir
Önümüzdeki:Yazılım önyüklemesini otomatik olarak nasıl kurarım.
 Ev sahibi| Yayınlandı 10.12.2016 15:02:58 |
Statik alanlar GC tarafından geri dönüştürülmez, statik alanlar Loader yığınında, GC olmayan yığında tahsis edilir ve GC tarafından kontrol edilmez.

Statik üyeler (statik sınıflardan olsun ya da olmayan) yalnızca AppDomain.UnLoad erişimine ulaştıklarında geri dönüştürülür. Statik sınıfların sadece statik üyelere sahip olmasına izin verilir
Yayınlandı 6.12.2017 11:48:05 |
Öğrendim, paylaştığın için teşekkürler
 Ev sahibi| Yayınlandı 23.02.2018 14:59:01 |
Diğer uygulamalar:

Başlatma yöntemi:



 Ev sahibi| Yayınlandı 3.10.2025 16:10:11 |
.NET/C#, Mutex ve MemoryMappedFile tabanlı programı uygular
https://www.itsvse.com/thread-10808-1-1.html
Feragatname:
Code Farmer Network tarafından yayımlanan tüm yazılım, programlama materyalleri veya makaleler yalnızca öğrenme ve araştırma amaçları içindir; Yukarıdaki içerik ticari veya yasa dışı amaçlarla kullanılamaz, aksi takdirde kullanıcılar tüm sonuçları ödemelidir. Bu sitedeki bilgiler internetten alınmakta olup, telif hakkı anlaşmazlıklarının bu siteyle hiçbir ilgisi yoktur. Yukarıdaki içeriği indirmeden sonraki 24 saat içinde bilgisayarınızdan tamamen silmelisiniz. Programı beğendiyseniz, lütfen orijinal yazılımı destekleyin, kayıt satın alın ve daha iyi orijinal hizmetler alın. Herhangi bir ihlal olursa, lütfen bizimle e-posta yoluyla iletişime geçin.

Mail To:help@itsvse.com