Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Chyby, ke kterým došlo v aplikaci WCF, patří do jedné ze tří skupin:
Chyby komunikace
Chyby proxy serveru nebo kanálu
Chyby aplikace
K chybám komunikace dochází v případě, že síť není k dispozici, klient používá nesprávnou adresu nebo hostitel služby naslouchá příchozím zprávám. Chyby tohoto typu jsou vráceny klientovi jako CommunicationException nebo CommunicationException-odvozené třídy.
Chyby proxy serveru nebo kanálu jsou chyby, ke kterým dochází v rámci samotného kanálu nebo proxy serveru. Mezi chyby tohoto typu patří: pokus o použití proxy serveru nebo kanálu, který byl uzavřen, existuje neshoda kontraktů mezi klientem a službou nebo přihlašovací údaje klienta jsou odmítnuty službou. V této kategorii existuje mnoho různých typů chyb, příliš mnoho na seznam. Chyby tohoto typu se vrátí klientovi as-is (u objektů výjimky se neprovádí žádná transformace).
Při provádění operace služby dochází k chybám aplikace. Chyby tohoto typu se odesílají klientovi jako FaultException nebo FaultException<TDetail>.
Zpracování chyb ve WCF provádí jedna nebo více z následujících akcí:
Přímé řešení výjimky, která byla vyvolána. To se provádí jenom u chyb komunikace a proxy serveru nebo kanálu.
Použití smluv o chybách
Implementace IErrorHandler rozhraní
Zpracování ServiceHost událostí
Smlouvy o chybách
Kontrakty chyb umožňují definovat chyby, ke kterým může dojít během provozu služby nezávisle na platformě. Ve výchozím nastavení se všechny výjimky vyvolané v rámci operace služby vrátí klientovi jako FaultException objekt. Objekt FaultException bude obsahovat velmi málo informací. Informace odesílané klientovi můžete řídit tím, že stanovíte kontrakt chyby a vrátíte tuto chybu jako FaultException<TDetail>. Další informace naleznete v tématu Určení a zpracování chyb v kontraktech a službách.
IErrorHandler
Rozhraní IErrorHandler umožňuje větší kontrolu nad tím, jak vaše aplikace WCF reaguje na chyby. Poskytuje úplnou kontrolu nad chybovou zprávou vrácenou klientovi a umožňuje provádět vlastní zpracování chyb, jako je protokolování. Další informace o IErrorHandler a rozšíření kontroly nad zpracováním chyb a reportováním
Události servicehost
ServiceHost Třída hostuje služby a definuje několik událostí, které mohou být potřeba pro zpracování chyb. Například:
Další informace najdete v tématu ServiceHost