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

Rodinys: 14475|Atsakyti: 4

[Šaltinis] [Praktinis veikimas] ASP.NET Core 6 įdiegtas ARM Raspberry Pi, kad būtų įdiegtas DDNS ir Wake-on-Network

[Kopijuoti nuorodą]
Paskelbta 2022-03-09 22:36:53 | | | |
Namuose turiu Raspberry Pi 3B (Raspberry Pi 3B Arm architektūra 32 bitų) ir namuose valgau dulkes, nes .NET Core programos gali būti kelių platformų, todėl ketinu parašyti svetainę, kurią galėčiau įdiegti Raspberry Pi. Namų plačiajuostis ryšys turi viešą IP adresą, tačiau IP adresas pasikeis kiekvieną kartą, kai maršrutizatorius bus paleistas iš naujo, o nemokamu ASUS maršrutizatoriaus DDNS nėra labai paprasta naudoti (pasikeitė namų IP, o domeno vardo skiriamoji geba neįsigaliojo laiku). Namuose turiu DELL darbalaukį ir DELL EMC serverį, todėl pasiruoškite parašyti DDNS paslaugą ir "Wake-on-the-Internet" įrankį su "ASP.NET Core".

Naudodami DDNS galiteLaiku gaukite interneto IP adresą namuose, galima naudoti "Wake-on-Network" funkcijąPažadinti mano DELL stalinį kompiuterį, kuris yra patogus konsultuotis su informacija namuose.

Svetainės, parašytos naudojant ASP.NET Core 6, yra įdiegtos Raspberry PiJis stabiliai veikia daugiau nei 3 mėnesius, be jokių problemų.



Įdiekite "AspNetCore" vykdymo laiką

Pirma, Raspberry Pi reikia įdiegti su Raspberry Pi OS sistema, o pamoka yra tokia:

Raspberry Pi 3B (Raspberry Pi 3B) įdiegta su Raspberry Pi OS sistema
https://www.itsvse.com/thread-10052-1-1.html

Tada įdiekite "AspNetCore Runtimes" ant "Raspberry Pi", prisijunkite prie "Raspberry Pi" pagrindinio kompiuterio naudodami SSH ir naudokite jįsudo -iPerjunkite į root ir sukurkite aplanką /usr/dotnet naudodami šią komandą:

Atsisiųskite aspnetcore-runtime-6.0.1-linux-arm.tar.gz ir išpakuokite ją naudodami šią komandą:

Norėdami sukurti minkštą nuorodą, komanda yra tokia:

Šiuo metu įdiegiama "ASP.NET Core" svetainei reikalinga veikimo aplinka ir patikrinamas įdiegtas vykdymo laikas, kaip parodyta paveikslėlyje žemiau:



DDNS dinaminių domenų vardų tarnyba

Iškvieskite DNSPod sąsają, kad įdiegtumėte DDNS dinaminio domeno vardo paslaugą, sąsajos dokumentą:Hipersaito prisijungimas matomas.

Sukurkite naują MVC projektą ASP.NET Core 6 naudodami VS 2022, sukurkite naują DNSPodOptions.cs failą, kad sukonfigūruotumėte iškvietimo sąsajai reikalingus parametrus, kaip nurodyta toliau:

appsettings.json Pridėkite šią konfigūraciją:

Modifikuokite Program.cs failą, kad susietumėte konfigūracijos informaciją su DNSPodOptions klase, kodas yra toks:

Sukurkite naują DDNSWorker.cs failą, sukurkite foninę paslaugą, kartą per minutę gaukite IP adresą ir paskambinkite DNSPod sąsajai, kad atnaujintumėte domeno vardo skiriamąją gebą, jei pasikeičia IP adresas. (Pastaba:Jei per 1 valandą pateikiama daugiau nei 5 prašymai keisti įrašus be jokių pakeitimų, sistema užrakins įrašus 1 valandai ir jų nebebus leidžiama keisti。 Pavyzdžiui, pradinė įrašo reikšmė jau yra 1.1.1.1, o naujoje užklausoje taip pat reikia ją pakeisti į 1.1.1.1. )

Kodas yra toks:

Pakeiskite Program.cs failą ir užregistruokite vidinę paslaugą naudodami šį kodą:

Visas Program.cs kodas yra toks:


Derintuvas gali įprastai iškviesti DNSPod sąsają taip:


Pabusti LAN

"Wake-on-LAN" yra sutrumpintas kaip WOL arba WoL, kuris dažniausiai verčiamas į kinų kalbą kaip "internetinis pažadinimas" ir "nuotolinis pažadinimas" technologija. WOL yra technologija, ir tai taip pat yra šios technologijos specifikacija, ir jos poveikis yra leisti kompiuteriui, kuris perėjo į ramybės arba išjungimo būseną, duoti nurodymus jam per kitą vietinio tinklo galą (dažniausiai Ethernet), kad jis pabustų iš užmigdymo režimo, atnaujintų į veikimo būseną arba persijungtų iš išjungimo būsenos į įkrovos būseną. Be to, su WOL susijusios technologijos taip pat apima nuotolinio valdymo mechanizmus, tokius kaip nuotolinis išjungimas ir nuotolinis paleidimas iš naujo.

Pakeiskite "HomeController" valdiklį ir pridėkite "Wake-on-Network" sąsają, kodas yra toks:


Redaguokite Index.cshtml puslapį, pridėkite MAC adreso įvesties laukelį ir mygtuką ir naudokite Ajax, kad iškviestumėte sąsają, kodas yra toks:

Pradėkite projektą, kaip parodyta toliau:



Įdiegta Raspberry Pi

Naudodami VS 2022 projektui išleisti, įkelkite leidimo paketą į Raspberry Pi aplanką /home/pi/wol, kaip parodyta toliau:




Sukurkite naują nbddns.service failą aplanke /etc/systemd/system ir užregistruokite projektą kaip "Linux" paslaugą taip:

Paleiskite nbddns paslaugą ir nustatykite, kad įkrova pradėtų automatinį paleidimą naudodami šią komandą:

Peržiūrėkite aptarnavimo būseną, kaip parodyta šiame paveikslėlyje:



Galiausiai maršrutizatoriaus nustatymuosePrievadų atvaizdavimas, tada per domeno vardą ir susietą ekstraneto prievadą pasiekti mano telefonasNaudokite 4G tinklustiesioginisGalite pasiekti ASP.NET Core programas, įdiegtas Raspberry Pi viršuje, kaip parodyta toliau pateiktame paveikslėlyje:



(Pabaiga)





Ankstesnis:ASP.NET Core (XI) galinio taško maršrutas prideda tarpinę programinę įrangą, kad būtų rodomos visos DI paslaugos
Kitą:Linux ssh: komanda nerasta
Paskelbta 2022-03-10 11:16:19 |
Galima pastebėti, kad buvo suvalgyta daug pelenų
Paskelbta 2022-03-12 15:17:50 |
Ateikite ir mokykitės iš naujo
 Savininkas| Paskelbta 2023-09-23 09:25:26 |
Išsamiai paaiškinta "Linux systemd" paslaugų tvarkyklė
https://www.itsvse.com/thread-10178-1-1.html
 Savininkas| Paskelbta 2024-06-18 13:06:36 |
"ASP.NET Core" (devyniolika) naudoja "BackgroundService" foninėms užduotims vykdyti
https://www.itsvse.com/thread-10591-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