OE-NIK HP Haladó Programozás WCF kivételkezelés. OE-NIK HP Haladó Programozás Windows Communication Foundation A szolgáltatás, a hoszt és az ügyfél elkészítése.

Slides:



Advertisements
Hasonló előadás
4. alkalom – Hálózat Kezelés
Advertisements

Osztály leszármaztatás
Windows Communication Foundation (WCF)
Krizsán Zoltán iit 1.1.  Aszinkron történésről értesítés egy vagy több objektum számára.  Delegátumok segítségével valósítja meg a C#.  event típus,
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
A LabVIEW használata az oktatásban
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
1. Előadás WCF- bemutatás
Készítette: Galán Mihály.  Viselkedés szerződések definiálása  Szolgáltatás szerződések és szolgáltatás típusok  Hiba szerződések  Üzenetcsere minták.
OE-NIK HP Haladó Programozás Windows Communication Foundation A szolgáltatás, a hoszt és az ügyfél elkészítése.
Webszolgáltatások PHP-ben
Programozás III KOLLEKCIÓK 2..
2 Forrás: The Standish Group International, Extreme Chaos, The Standish Group International, Inc., 2000.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hibakezelés és Tesztelés a Visual Studio.NET-ben
Fájlkezelés, IO Kivételkezelés Belső osztályok
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 9. Gyakorlat Alap file műveletek.
Programozás II. 3. Gyakorlat C++ alapok.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Parancssori argumentumok Primitív típusok Operátorok Vezérlési szerkezetek Tömbök Ürmös Beáta, 2011.
Tömbök ismétlés Osztályok Java-ban Garbage collection
A C++ programozási nyelvSoós Sándor 1/15 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Java programozási nyelv 5. rész – Osztályok III.
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
C# tagfüggvények.
C# tagfüggvények.
Krizsán Zoltán iit 1.2.  Nem kell vizuális felületnek lennie.  Delegátumok segítségével valósíthatja meg a.NET. Krizsán Zoltán iit Delegátumok C#-ban2.
Haladó Programozás A webszolgáltatás fogalma
Félévvel kapcsolatos információk
Delphi programozás 8. ELŐADÁS ADO ActiveX Data Objects.
Kivételkezelés.
SOAP alapismeretek A SOAP egy egyszerű XML alapú protokoll, ami lehetővé teszi, hogy az alkalmazások információt cseréljenek a HTTP-én keresztül. Forrás:
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
P ROGRAMOZÁS C# - BAN Kivételkezelés. P ÉLDA I. Nullával való osztás miatt kapjuk a hibaüzenetet.
2012. tavaszi félév Vitéz Gergely. A diasor ismerete nem helyettesíti a tankönyvet, és a példatárat. A diasor ismerete szükséges, de nem elégséges feltétele.
Objektum orientált programozás a gyakorlatban
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
Java programozási nyelv Adatbekérés konzolról
Java web programozás 11..
Webprogramozó tanfolyam
Webszolgáltatások Simon Balázs
Programozás III KIVÉTEL.
Illés Zoltán ELTE Informatikai Kar
Java web programozás 7-8..
Készítette: Trajer Péter
Programozás III KIVÉTEL. KIVÉTELKEZELÉS Hibátlan program nincs!!! eddig hiba esetén leállt a program. Példa ilyen hibákra: ─ ArrayBoundsOfException (tömb.
Haladó Programozás Reflexió OE-NIK HP.
DLL használata és készítése Feladat
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 7. gyakorlat.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Kivételek kezelése, ellenőrzött adatbevitel Czigléczky Gábor 2009.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 7. gyakorlat.
Krizsán Zoltán, iit C# osztályok 2 Adattagok  Osztály hatáskörben definiált változó.  Formája: [attribútum] [módosító] típus azonosító [=kezdő érték][,
Haladó Programozás A webszolgáltatás fogalma Szabványok és protokollok
Haladó Programozás Windows Communication Foundation
Hálózatkezelés Java-ban
Web programozás és haladó fejlesztési technikák – C#
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Dependency Injection Tesztduplikátumok, Mock-ok, Fake-ek Feladat
Informatikai gyakorlatok 11. évfolyam
Informatikai gyakorlatok 11. évfolyam
Előadás másolata:

OE-NIK HP Haladó Programozás WCF kivételkezelés

OE-NIK HP Haladó Programozás Windows Communication Foundation A szolgáltatás, a hoszt és az ügyfél elkészítése

V1.0 Kivételkezelés WCF-ben Ha nem kezeljük a hibákat, akkor azok a szerverről a kliensre kerülnek. A kliens futása leáll a következő hibaüzenettel: –CommunicationException - the server did not provide a meaningful reply; this might have been caused due to a contract mismatch, a premature session shutdown or an internal server error. –Egy ilyen után a kommunikációs csatorna nem használható tovább. A kommunikációs csatorna fenntartásához a SOAP-nak megfelelő kivételkezelést kell alkalmazni. Ennek lehetőségei: –returnUnknownExceptionsAsFaults / [ServiceBehavior(IncludeExceptionDetailInFaults=true)]: Minden kivétel becsomagolódik és mint Soap Fault átkerül a kliensre. Érzékeny adatokat is átküld, így csak debugolásnál ajánlott használni –IErrorHandler Minden kivételt elkapunk a szerveren, naplózzuk és esetleg továbbdobjuk Fault Exception- ként –FaultException (ezt használjuk a továbbiakban) 3 OE-NIK HP

V1.0 SOAP Fault A SOAP-ban definiált hibával kapcsolatos mezők: –faultcode: kötelező, karakterlánc általában a hibakódok egyikével kezdődik: Server: a hiba a szerverben volt, az üzenet újbóli elküldése sikerre vezethet Client: a hiba az üzenet tartalmában vagy formátumában van, nem érdemes újra próbálkozni –faultstring: olvasható formában írja le a hiba okát –faultactor: tájékoztat, hogy hol következett be a hiba az üzenet útja során A FaultException a WCF-ben definiált típus a Soap Fault létrehozására Bármilyen objektum becsomagolható ezzel Soap Faulttá –new FaultException (myfe,faultReason,faultCode); myfe: becsomagolandó objektum faultReason: további információ küldése a kivételről faultCode: megfelel a SOAP feultcode mezőjének 4 OE-NIK HP

V1.0 Kivételkezelési információk a szerződésben A WCF szerződésnek tartalmaznia kell a kivételkezelésre vonatkozó információkat [OperationContract] [FaultContract(typeof(BMIFaultException))] double GetBMI(double weight, double height); –Ha a szerződés nem tartalmazza a FaultContract információt, akkor a kliens mindent unknowfaultexceptions kivételként kap el –A FaultContract információ megjelenik a szolgáltatás wsdl-jében Saját objektumot érdemes átdobni, hogy a megfelelő adatokat adjuk át –A átdobandó objektum osztályát a szerződésben definiáljuk [DataContract] public class BMIFaultException { [DataMember] public string Message{get;set;} } 5 OE-NIK HP

V1.0 Kivétel dobása és elkapása A saját objektum létrehozása utána A FaultException generikus osztályból hozunk létre egy példányt Érdemes megadni a faultreasont és a faultcode-ot is –BMIFaultException error = new BMIFaultException(); error.Message = "Zero value passed for height“; throw new FaultException ( error, new FaultReason(ex.StackTrace), new FaultCode("Client.DivideByZero")); A kivétel elkapása a szokásos módon történik –catch (System.ServiceModel.FaultException fex) 6 OE-NIK HP

V1.07 OE-NIK HP Feladat Készítsünk webszolgáltatást, amely a testtömegindexet (Body Mass Index) adja meg a súly és a testmagasság alapján –BMI=súly/magasság/magasság (súly kilogramban, magasság méterben) –Dobjon a szerver kivételt, ha a magasság kisebb, mint 0,5 m vagy nagyobb mint 2,5 m. –Dobjuk át a kivételt, amit nullával való osztáskor kapunk. –Minden egyéb kivételnek dobjuk át az üzenetét a kliensnek. –A kliens kezelje az átdobott kivételeket.

V1.08 OE-NIK HP Irodalomjegyzék gInWCF.aspx sharpcorner.com/uploadfile/ankithakur/exception-handling-in- wcf-using-fault-contract/ -handling-in-wcf-web-service.aspx

OE-NIK HP