Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 24385|Svar: 4

[Kilde] C#-programmer tillader kun én instans at køre den korrekte kode

[Kopier link]
Opslået på 10/12/2016 14.55.50 | | | |


Jeg har skrevet et trafikovervågningsprogram, som jeg vil have computeren til kun at køre én gang, og koden er som følger:



Find straks og klik på softwaren, den vil få beskeden "En instans er blevet kørt", men,Efter at have ventet i 30 sekunder, og så klik på softwaren, og så kører den igenÉn gang!!

Det er ærgerligt.Ovenstående kode fungerer fint i DEBUG-tilstand, men den virker ikke i RELEASE.
Problemet er, at Mutex erklæres som en lokal variabel og i rerese-tilstand på grund af optimeringsproblemer, muligvis fordi compileren mener, at Mutex ikke længere bruges

brugt, genanvendt, testet af mig selv,

Læg Mutex øverst og sæt det som en statisk variabel til !!HøjreKoden er som følger:





Score

Antal deltagere1MB+1 bidrage+1 Sammenbrud årsag
En lille nybegynder, der elsker at lære + 1 + 1 Som en!

Se alle vurderinger





Tidligere:C# tillader kun, at den korrekte skrivning af én instans af applikationen kører
Næste:Hvordan opsætter man software automatisk boot.
 Udlejer| Opslået på 10/12/2016 15.02.58 |
Statiske felter genbruges ikke af GC, statiske felter allokeres i Loader-heapen, ikke-GC-heapen, og kontrolleres ikke af GC.

Statiske medlemmer (af statiske klasser eller ej) genanvendes kun, når de når AppDomain.UnLoad. Statiske klasser må kun have statiske medlemmer
Opslået på 06/12/2017 11.48.05 |
Lært, tak fordi du delte
 Udlejer| Opslået på 23/02/2018 14.59.01 |
Andre implementeringer:

Opstartsmetode:



 Udlejer| Opslået på 03/10/2025 16.10.11 |
.NET/C# implementerer program singleton baseret på Mutex og MemoryMappedFile
https://www.itsvse.com/thread-10808-1-1.html
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com