Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 25464|Odpověď: 0

[Zdroj] .net/C# Distribuovaný TransactionScope

[Kopírovat odkaz]
Zveřejněno 05.05.2018 10:53:17 | | | |
Cituji průvodce někoho jiného:
Při skutečné vývojové práci se spustí událost a poté se zavolá další rozhraní pro vložení dat; pokud je v logice zpracování výjimka, pak se dříve vložená data stanou odpadními daty,
Chceme být schopni definovat celou metodu jako transakci a třída TransactionScope poskytuje jednoduchou metodu, která vám umožní nemuset interagovat přímo s transakcí.
označit blok kódu jako účast na transakci. Objekt TransactionScope vytváří transakci a nastavuje transakci na vlastnost Current třídy Transaction.

1. Výhody TransactionScope
1. Je pohodlnější na používání. TransactionScope dokáže implementovat implicitní transakce, takže můžete psát kód na úrovni přístupu k datům bez ohledu na transakce, ale řídit transakce na obchodní vrstvě.
2. Lze implementovat distribuované transakce, například cross-database nebo MSMQ.

2. Nevýhody TransactionScope
1. Nákladová výkonnost není vysoká. Například v "Scope" ovládáte pouze transakce knihovny. Používání "TransactionScope" je trochu plýtvání.
2. Za normálních okolností, pokud používáte "TransactionScope", musíte nastavit MSDTC, nainstalovat firewall a otevřít port 139. Tento port nelze změnit

3. Pokud musíte používat distribuované transakce, musíte o tom přemýšlet
1. Musí tato operace být součástí transakce? Pokud tento krok nebude dokončen nebo selže, stojí za to celou transakci vrátit zpět? Neexistuje žádná elegantní kompenzace nebo odolnost vůči chybám?
2. Kolik bodů zahrnují distribuované transakce? Musí mít dlouhý řetězec operací v reálném čase? Nemůžete některé body zjednodušit přes notifikační operace?
3. Po zahájení distribuované transakce jste provedli transakční nezávislé operace, i když tyto operace nebyly s transakcí spojeny? (např. čtení dat, výpočty, čekání na vrácení zprávy uživatelem, čekání na návrat hovoru ostatních modulů atd.)
4. Nepočítal jste do transakce nějaké čtenářské operace, že? To je snadná chyba, kterou lze udělat, když do transakce zadáte operaci select.
5. Některé kroky vaší operace lze provést až po dokončení všech operací. Tento typ provozu má zřetelné charakteristiky pro upozornění. Informační operace říkají: Dávám vám oznámení a zaručuji, že oznámení k vám dorazí;
Musíte toto oznámení přijmout a zajistit, aby bylo zpracováno, ale nemusíte se s ním zabývat hned, jakmile vás o tom informuji. Tuto operaci lze samozřejmě provést i jiným úkolem.

4. Při používání distribuovaných transakcí věnujte pozornost následujícím bodům
1: Ujistěte se, že stroj zapojený do transakce má povolenou podporu distribuovaných transakcí.
2: Pokud má počítač firewall zapnutý, musíte nastavit proces msdtc jako výjimku.
3: Stroj účastnící se transakce nemůže překročit doménu (pokud je trans doména, Microsoft momentálně nemá přesné řešení);
4: Používejte distribuované transakce pouze tehdy, když máte více databází, pokud jde o stejnou databázi, je nejlepší použít SqlTransaction.
1. Nejprve přidejte odkaz na System.Transactions (musíte přidat Net assembly)

Kód volacího signálu C# je následující:

Adresa blogů, která vysvětluje tuto třídu distribuovaných transakcí, je velmi jasná:http://www.cnblogs.com/artech/archive/2010/01/31/1660356.html

2. Nastavte konfiguraci webového serveru a prostředí SQL serveru

Ovládací panel - > Systémy a bezpečnost - > Nástroje pro správu - > Component Services
(Toto je vyžadováno jak pro web, tak SQL servery)





Ovládací panel - > Systémy a bezpečnost - > Nástroje pro správu - > služby
(Toto je vyžadováno jak pro web, tak SQL servery)




Ovládací panel - > Systém a bezpečnost - > Windows Firewall
(Toto je vyžadováno jak pro web, tak SQL servery)




3. Konfigurace MSSQL

Pro připojení k serveru klikněte pravým tlačítkem - > vlastnosti




4. Konfigurujte hostitele (konfigurujte pouze WEB server, pokud ne, konfigurujte ho také na SQL serveru)

C:\Windows\System32\drivers\etc
hosts, který se otevírá pomocí Notepadu
(Informace o SQL serveru je třeba nastavit v souboru Hosts na WEB serveru)
(Pokud test selže, nakonfigurujte informace o webovém serveru v souboru Hosts na SQL serveru)






Předchozí:Externí odkazy na příspěvky na fóru Discuz X přidávají atribut nofollow
Další:Funkce, které v C# uchovávají dvě desetinná místa za desetinnou čárkou a jak je používat
Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com