Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 24385|Atsakyti: 4

[Šaltinis] C# programos leidžia tik vienam egzemplioriui paleisti teisingą kodą

[Kopijuoti nuorodą]
Paskelbta 2016-12-10 14:55:50 | | | |


Parašiau eismo stebėjimo programinę įrangą, kurią noriu, kad kompiuteris veiktų tik vieną kartą, o kodas yra toks:



Nedelsdami raskite programinę įrangą, ji paragins "Egzempliorius buvo paleistas", betPalaukę 30 sekundžių, spustelėkite programinę įrangą ir ji vėl sėkmingai veikiaKartą !!

Gaila.Aukščiau pateiktas kodas yra gerai DEBUG režimu, bet jis neveikia RELEASE.
Problema ta, kad Mutex yra deklaruojamas kaip vietinis kintamasis, ir relese režimu dėl optimizavimo problemų, galbūt todėl, kad kompiliatorius mano, kad Mutex nebenaudojamas

naudotas, perdirbtas, išbandytas pats,

Uždėkite "Mutex" ant viršaus ir nustatykite jį kaip statinį kintamąjį, kad !!Į dešinęKodas yra toks:





Vertinimas pagal

Dalyvių skaičius1MB+1 Prisidėti prie+1 Žlugimo priežastis
Mažas naujokas, mėgstantis mokytis + 1 + 1 Kaip vienas!

Peržiūrėti visus įvertinimus





Ankstesnis:C# leidžia teisingai parašyti tik vieną programos egzempliorių
Kitą:Kaip automatiškai nustatyti programinės įrangos paleidimą.
 Savininkas| Paskelbta 2016-12-10 15:02:58 |
Statiniai laukai nėra perdirbami GC, statiniai laukai priskiriami krautuvo krūvoje, ne GC krūvoje ir GC jų nekontroliuoja.

Statiniai nariai (statinių klasių ar ne) perdirbami tik tada, kai pasiekia AppDomain.UnLoad. Statinėms klasėms leidžiama turėti tik statinius narius
Paskelbta 2017-12-06 11:48:05 |
Sužinojau, ačiū, kad dalijatės
 Savininkas| Paskelbta 2018-02-23 14:59:01 |
Kiti įgyvendinimai:

Paleidimo būdas:



 Savininkas| Paskelbta 2025-10-03 16:10:11 |
.NET/C# įgyvendina programą singleton, pagrįstą Mutex ir MemoryMappedFile
https://www.itsvse.com/thread-10808-1-1.html
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com