Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 304494|Odpoveď: 72

[Zdroj] c# Použitie fronty správ MessageQueue so zdrojovým kódom

  [Kopírovať odkaz]
Zverejnené 14. 12. 2016 13:51:37 | | | |

S MSMQ (Microsoft Message Queue) môžu vývojári aplikácií pohodlne komunikovať s aplikáciami rýchlo a spoľahlivo odosielaním a prijímaním správ. Spracovanie správ vám poskytuje spoľahlivú a spoľahlivú metódu pre zaručené správy a vykonávanie mnohých obchodných procesov.

MSMQ, podobne ako XML webové služby a .Net vzdialené vysielanie, je technológia distribuovaného vývoja. Avšak pri používaní XML webových služieb alebo .Net vzdialených komponentov musí klient v reálnom čase vymieňať informácie so serverom a server musí zostať online. MSMQ môže fungovať, keď je server offline, dočasne uložiť správu do fronty správ na strane klienta a potom ju odoslať serveru na spracovanie, keď je online.

Je zrejmé, že MSMQ nie je vhodné pre situácie, keď klient potrebuje reagovať včas zo servera, a MSMQ interaguje so serverom asynchrónne, takže nie je potrebné sa obávať dlhého čakania na spracovanie serverom.



Hoci XML webové služby aj .Net Remoting poskytujú vlastnosť [OneWay] na spracovanie asynchrónnych volaní, používa sa na riešenie problému dlhých volaní metód na strane servera, ktoré dlhodobo blokujú klientsku stranu. Avšak nedokáže vyriešiť problém veľkej záťaže klienta a server prijíma požiadavky rýchlejšie, než dokáže spracovať.

Vo všeobecnosti sa atribút [OneWay] nepoužíva v špecializovaných komunikačných službách.



1. Základné pojmy a koncepty

"Správa" je jednotka dát, ktorá sa prenáša medzi dvoma počítačmi. Správy môžu byť veľmi jednoduché, napríklad obsahujú iba textové reťazce; Môže byť tiež zložitejšia a môže obsahovať vložené objekty.



Správy sa posielajú do fronty. "Fronta správ" je kontajner, ktorý uchováva správy počas ich prenosu. Správca fronty správ pôsobí ako sprostredkovateľ pri prenášaní správ zo zdroja do cieľa. Hlavným účelom fronty je zabezpečiť smerovanie a garantovať doručenie správ; Ak príjemca nie je dostupný v čase odoslania správy, fronta správy ju uchováva, kým nebude úspešne doručená.



"Message Queuing" je technológia spracovania správ spoločnosti Microsoft, ktorá poskytuje možnosti spracovania správ a frontovania správ pre akúkoľvek aplikáciu v akejkoľvek kombinácii počítačov s nainštalovaným systémom Microsoft Windows, bez ohľadu na to, či sú v rovnakej sieti alebo online v rovnakom čase.



"Sieť fronty správ" je akákoľvek skupina počítačov, ktoré si môžu navzájom posielať správy. Rôzne počítače v sieti zohrávajú rôzne úlohy pri zabezpečovaní plynulého spracovania správ. Niektoré z nich poskytujú smerovacie informácie na určenie, ako posielať správy, niektoré obsahujú dôležité informácie o celej sieti a niektoré len odosielajú a prijímajú správy.



Počas inštalácie fronty správ administrátori určujú, ktoré servery môžu medzi sebou komunikovať, a nastavujú špeciálne úlohy pre konkrétne servery. Počítače, ktoré tvoria túto sieť "správových frontov", sa nazývajú "stránky" a sú navzájom prepojené "odkazmi na stránky". Každý sitelink má pridelenú "režijnú záťaž", ktorú určuje administrátor a určuje, ako často sú správy doručované cez tento sitelink.



Administrátor fronty správ tiež nastavuje jeden alebo viac počítačov v sieti, ktoré fungujú ako smerovacie servery. Smerovací server analyzuje režijné náklady každého sitelinku, aby určil najrýchlejší a najefektívnejší spôsob doručenia správy cez viacero stránok a rozhodol, ako ju doručiť.



2. Typ fronty

Existujú dva hlavné typy frontov: fronty vytvorené vami alebo inými používateľmi vo vašej sieti a systémové fronty.

Používateľsky vytvorená fronta môže byť ktoroukoľvek z nasledujúcich:

Verejné fronty sú replikované v celej sieti Message Queue a majú potenciál byť prístupné všetkými lokalitami pripojenými k sieti.

Súkromné fronty nie sú publikované v celej sieti. Namiesto toho sú dostupné len na lokálnom počítači, kde sa nachádzajú. Súkromné fronty môžu pristupovať len aplikácie, ktoré poznajú celý názov cesty alebo označenie fronty.

Management Queue obsahuje správy, ktoré potvrdzujú prijatie správ odoslaných v danej sieti Message Queue. Špecifikujte manažérsku frontu, ktorú chcete, aby komponent MessageQueue používal, ak vôbec nejaká.

Odpovedná fronta obsahuje odpovedné správy, ktoré sú vrátené odosielajúcej aplikácii, keď cieľová aplikácia správu prijme. Špecifikujte frontu odpovedí, ktorú chcete, aby komponent MessageQueue používal, ak vôbec nejaká je.



Rady generované systémom sa zvyčajne delia do nasledujúcich kategórií:

Journal Queue voliteľne ukladá kópie odoslaných správ a kópie správ odstránených z fronty. Jedna denníková fronta na každom klientovi Message Queue uchováva kópiu správ odoslaných z tohto počítača. Pre každú frontu na serveri sa vytvorí samostatná denníková fronta. Tento denník sleduje správy, ktoré sú z tejto fronty odstránené.

Dead Letter Queue uchováva kópie správ, ktoré nie je možné doručiť alebo majú expiráciu. Ak je správa, ktorá vyprší alebo nemôže byť doručená, transakčná, je uložená v špeciálnej fronte na mŕtve písmená nazývanej "transakčná fronta mŕtvych listov". Mŕtve písmená sú uložené v počítači tam, kde sa nachádza expirovaná správa. Pre viac informácií o správach o časovom limite a vypršaní platnosti pozri Predvolené vlastnosti správ.

Report Queue obsahuje správy, ktoré indikujú trasu, ktorou správa dorazí do cieľa, a môže obsahovať aj testovacie správy. Na každom počítači môže byť len jedna fronta na hlásenie.

Dedikovaná systémová fronta je séria vyhradených frontov, ktoré ukladajú správy a notifikačné správy, ktoré systém potrebuje na vykonanie operácií spracovania správ.

Väčšina práce vykonávanej v aplikácii zahŕňa prístup k verejným frontám a ich správam. Avšak v závislosti od journalingu, potvrdenia a ďalších špeciálnych spracovateľských potrieb aplikácie je pravdepodobné, že v dennej prevádzke sa použije niekoľko rôznych systémových front.



3. Synchronná VS. asynchrónna komunikácia

Komunikácia fronty je inherentne asynchrónna, pretože odosielanie správ a prijímanie správ z fronty prebieha v rôznych procesoch. Operácia prijímania môže byť tiež vykonaná asynchrónne, pretože osoba, ktorá chce správu prijať, môže zavolať metódu BeginReceive do ľubovoľnej fronty a okamžite pokračovať v ďalších úlohách bez čakania na odpoveď. To je veľmi odlišné od toho, čo ľudia poznajú ako "synchronnú komunikáciu".



Pri synchronnej komunikácii musí odosielateľ požiadavky počkať na odpoveď od zamýšľaného príjemcu pred vykonaním ďalších úloh. Doba, ktorú odosielateľ čaká, závisí úplne od času, ktorý príjemca potrebuje na spracovanie požiadavky a odoslanie odpovede.



4. Interakcia s frontami správ

Spracovanie správ a správy poskytujú výkonný a flexibilný mechanizmus pre medziprocesovú komunikáciu medzi serverovými aplikačnými komponentmi. Ponúkajú niekoľko výhod oproti priamemu vyvolávaniu medzi komponentmi, vrátane:

Stabilita – Poruchy komponentov ovplyvňujú správy oveľa menej ako priame volania medzi komponentmi, pretože správy sú uložené vo fronte a zostávajú tam, kým nie sú správne spracované. Spracovanie správ je podobné spracovaniu transakcií v tom, že spracovanie správ je zaručené.
Prioritizácia správ – Naliehavejšie alebo dôležité správy môžu byť prijaté skôr než relatívne nepodstatné, takže môžete zaručiť dostatočný čas reakcie pre kritické aplikácie.
Offline schopnosť – Keď sú správy odoslané, môžu byť odoslané do dočasnej fronty a zostanú tam, kým nie sú úspešne doručené. Ak je prístup k požadovanej fronte z akéhokoľvek dôvodu nedostupný, používateľ môže pokračovať v akcii. Zároveň môžu ostatné operácie pokračovať, akoby bola správa spracovaná, pretože doručenie správy je zaručené pri obnovení sieťového pripojenia.
Transakčné spracovanie správ – Spojte viacero súvisiacich správ do jednej transakcie, aby ste zabezpečili, že správy budú doručené postupne, iba raz a budú úspešne získané z cieľovej fronty. Ak sa vyskytnú nejaké chyby, celá transakcia sa zruší.
Bezpečnosť – Technológia frontovania správ, na ktorej je komponent MessageQueue založený, využíva Windows Security na zabezpečenie kontroly prístupu, auditovanie a šifrovanie a autentifikáciu správ odosielaných a prijímaných komponentom.


5. Napísať jednoduchý program fronty správ v prostredí .Net

(1) Najskôr nainštalovať služby frontovania správ

Nainštalujte MSMQ cez ovládací panel, krok "Pridať/Odstrániť programy" – "Pridať/Odstrániť komponenty Windows".

MSMQ je možné nainštalovať buď v pracovnom skupinovom režime, alebo v doménovom režime. Ak inštalátor nenájde server s frontou správ poskytujúcou adresárové služby, môže byť nainštalovaná iba v pracovnom skupinovom režime a fronta správ na tomto počítači podporuje iba vytváranie súkromných frontov a vytváranie priamych spojení s inými počítačmi, ktoré používajú fronty správ.



(2) Konfigurácia MSMQ

Open Computer Management – Frontovanie správ a vytvorenie MSMQDemo fronty pod súkromnými frontami


(3) Napísať kód – jednoducho demonštrovať MSMQ objekt

Trieda MessageQueue je obal okolo "message queue". Trieda MessageQueue poskytuje odkaz na Message Queue queue. Môžete špecifikovať cestu k existujúcemu zdroju v konštruktore MessageQueue, alebo môžete vytvoriť novú frontu na serveri. Predtým, než môžete zavolať Odoslať, Nahliadnuť alebo Prijať, musíte priradiť novú inštanciu triedy MessageQueue k existujúcej fronte.



MessageQueue podporuje dva typy získavania správ: synchronné a asynchrónne. Synchronizované metódy Peek a Receive spôsobujú, že procesné vlákno čaká na novú správu, ktorá príde do fronty v určenom intervale. Asynchrónne metódy BeginPeek a BeginReceive umožňujú hlavnej aplikačnej úlohe pokračovať v samostatnom vlákne predtým, než správa dorazí do fronty. Tieto metódy fungujú na princípe využívania callback objektov a stavových objektov na uľahčenie komunikácie informácií medzi vláknami.


Stiahnutie zdrojového kódu:

Turisti, ak chcete vidieť skrytý obsah tohto príspevku, prosím.Odpoveď





Predchádzajúci:15 dobré. .NET
Budúci:C#/.NET číta zdrojový kód hashovacích informácií torrent torrentu
Zverejnené 13. 6. 2021 20:54:46 |
OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK OK
Zverejnené 22. 2. 2019 11:01:34 |
https://download.csdn.net/download/winrich/9585398
Zverejnené 21. 7. 2021 11:20:26 |
Dobre, dobre
Zverejnené 21. 12. 2016 23:04:53 |
Ďakujem, prenajímateľ
Zverejnené 28. 12. 2016 19:20:26 |
Pozrite si tento aktuálny test, aby ste si mohli urobiť toto cvičenie
Zverejnené 14. 7. 2017 16:32:06 |
Ďakujem, prenajímateľ。。。。。。。
Zverejnené 18. 10. 2017 14:26:45 |
Učte sa od vedúcich skupín
Zverejnené 24. 10. 2017 5:39:19 |
Nauč sa to
Zverejnené 18. 11. 2017 21:56:57 |
GOOOOOOOOOOOOOOOOOOOD
Zverejnené 14. 12. 2017 14:04:20 |
Na dobré príspevky treba odpovedať
Zverejnené 16. 12. 2017 21:49:55 |
213123 saedwaeas
Zverejnené 17. 12. 2017 8:56:11 |
Pozrite sa, čo sa hovorí
Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com