Web Services στη C# Εργαστήριο 2 Μαρίνος Θεμιστοκλέους Email: mthemist@unipi.gr Ανδρούτσου 150 Γραφείο 206 Τηλ. 210 414 2723 Ώρες Γραφείου: Τετάρτη 5-6 μμ
Web Services Κατασκευή web service Ανοίγουμε το Visual Studio Πηγαίνουμε File -> New -> Project
Web Services Κατασκευή web service Επιλέγουμε στα αριστερά Visual C# -> WCF. Στην συνέχεια WCF Service Application και δίνουμε το όνομα FirstWebService και πατάμε ΟΚ.
Web Services Κατασκευή web service Επιλέγουμε στα δεξιά από το Solution Explorer τα αρχεία IService1.cs και Service1.svc. Στην συνέχεια κάνουμε δεξί κλικ και τα διαγράφουμε.
Web Services Κατασκευή web service Κάνουμε δεξί κλικ στο όνομα του project (δηλαδή FirstWebService) στην καρτέλα Solution Explorer. Στην συνέχεια επιλέγουμε Add->New Item…
Web Services Κατασκευή web service Στο παράθυρο που ανοίγει επιλέγουμε στα αριστερά Visual C# -> Web και από την λίστα που εμφανίζεται στην μέση το WCF Service. Στο κάτω μέρος ονομάζουμε το αρχείο MathOperations.svc
Web Services Κατασκευή web service Προστέθηκαν δύο αρχεία στο Project. IMathOperations.cs – Διεπαφή (Interface) MathOperations.svc – Κλάση (Class)
Web Services Κατασκευή web service Η διεπαφή IMathOperations περιέχει τις μεθόδους όπου πρέπει να υλοποιεί η κλάση MathOperations. Αρχικά έχει προστεθεί η μέθοδος DoWork.
Web Services Κατασκευή web service Η κλάση MathOperations περιέχει τις μεθόδους που πρέπει να υλοποιήσει βάσει της διεπαφής IMathOperations. Αρχικά περιέχει τον κώδικα για τη μέθοδο DoWork.
Web Services Κατασκευή web service Αρχικά θα χρειαστούμε μια κλάση όπου θα περιέχει δύο μεταβλητές. [DataContract] public class MathsValues { [DataMember] public int Number1 { get; set; } public int Number2 { get; set; } }
Web Services Κατασκευή web service
Web Services Κατασκευή web service Αλλάζουμε την διεπαφή αφαιρώντας την μέθοδο DoWork και προσθέτοντας μεθόδους που θέλουμε να υλοποιήσουμε στο συγκεκριμένο web service. Οι μέθοδοι είναι: int Addition(MathsValues obj); int Subtraction(MathsValues obj); int Multiplication(MathsValues obj); int Division(MathsValues obj);
Web Services Κατασκευή web service
Web Services Κατασκευή web service Όταν ολοκληρώσουμε τις αλλαγές στην διεπαφή, πρέπει να υλοποιήσουμε τις μεθόδους στην κλάση MathOperations. Αρχικά θα σβήσουμε τη μέθοδο DoWork που είχε μέσα η κλάση και θα προσθέσουμε τις μεθόδους της διεπαφής.
Web Services Κατασκευή web service
Web Services Κατασκευή web service Μπορούμε να δοκιμάσουμε την λειτουργία του web service με το εργαλείο WCF Test Client. Επιλέγουμε το αρχείο MathOperations.svc και πατάμε το κουμπί “Start” (F5).
Web Services Κατασκευή web service
Web Services Κατασκευή web service Επιλέγοντας με διπλό κλικ κάποια μέθοδο μπορούμε να δοκιμάσουμε την λειτουργία της. Εισάγουμε τις τιμές των παραμέτρων του web service και πατώντας το κουμπί “Invoke” μας εμφανίζει την απάντηση του. Με αυτό τον τρόπο δοκιμάζουμε όλες τις μεθόδους, για να σιγουρευτούμε ότι επιστρέφουν τις τιμές που επιθυμούμε.
Web Services Κατασκευή web service
Web Services Κατασκευή web service Για να προσθέσουμε το web service σε ένα server που προσφέρει προσωρινά το visual studio, κάνουμε δεξί κλικ στο αρχείο MathOperations.svc. Στην συνέχεια επιλέγουμε το “View in Browser”. Με αυτό τον τρόπο το visual studio χρησιμοποιεί ένα iis express server και δημοσιοποιεί (publish) το web service.
Web Services Κατασκευή web service
Web Services Κατασκευή web service Στην συνέχεια ανοίγει ο προεπιλεγμένος browser εμφανίζοντας πληροφορίες για το web service.
Web Services Κατασκευή web site για δοκιμή web service Αρχικά θα προσθέσουμε ένα νέο Web Site στο solution που έχουμε ανοιχτό.
Web Services Κατασκευή web site για δοκιμή web service Δεξί κλικ στο Solution -> Add -> New Web Site…
Web Services Κατασκευή web site για δοκιμή web service Στο παράθυρο που ανοίγει επιλέγουμε “ASP.NET Empty Web Site” και στο κάτω μέρος ονομάζουμε την ιστοσελίδα “MathOpSite”.
Web Services Κατασκευή web site για δοκιμή web service Στο Solution Explorer προστέθηκε ένα ακόμα Project όπου είναι το web site που δημιουργήσαμε.
Web Services Κατασκευή web site για δοκιμή web service Στην συνέχεια θα πρέπει να προσθέσουμε αναφορά του web service που δημιουργήσαμε προηγουμένως (service reference) στην ιστοσελίδα. Για να προσθέσουμε αναφορά κάνουμε δεξί κλικ στο Project της ιστοσελίδας και Add -> Service References…
Web Services Κατασκευή web site για δοκιμή web service
Web Services Κατασκευή web site για δοκιμή web service Στο παράθυρο που ανοίγει επιλέγουμε το κουμπί “Discover” για να βρει τα web services όπου υπάρχουν στο ίδιο solution και αφού το βρει πατάμε το κουμπί “ΟΚ”.
Web Services Κατασκευή web site για δοκιμή web service Στο επόμενο βήμα θα προσθέσουμε μια νέα σελίδα. Κάνουμε δεξί κλικ στο MathOpSite και επιλέγουμε Add -> Web Form
Web Services Κατασκευή web site για δοκιμή web service Στο παράθυρο που ανοίγει επιλέγουμε το όνομα της νέας σελίδας. Μπορούμε να αφήσουμε το όνομα που μας προτείνει (Default).
Web Services Κατασκευή web site για δοκιμή web service Προσθέτουμε τον παρακάτω κώδικα στο αρχείο Default.aspx.
Web Services Κατασκευή web site για δοκιμή web service Με τον προηγούμενο κώδικα προσθέσαμε στην σελίδα δύο θέσεις για να εισάγει ο χρήστης τους δύο αριθμούς. Ένα drop down menu για να επιλέξει ο χρήστης την μαθηματική πράξη
Web Services Κατασκευή web site για δοκιμή web service
Web Services Κατασκευή web site για δοκιμή web service Όπως παρουσιάστηκε προηγουμένως το κουμπί θα καλεί το web service. Έτσι στο event OnClick προσθέσαμε μια μέθοδο που θα καλείται. Σε αυτό το σημείο θα υλοποιήσουμε την μέθοδο αυτή. Για να ανοίξουμε τον κώδικα της σελίδας, πηγαίνουμε δεξιά στο Solution Explorer και πατάμε το βελάκι στην σελίδα που θέλουμε. Από κάτω ανοίγει το αρχείο που περιέχει τον κώδικα της σελίδας και το ανοίγουμε.
Web Services Κατασκευή web site για δοκιμή web service Στο παράθυρο που ανοίγει συμπληρώνουμε τον παρακάτω κώδικα.
Web Services Κατασκευή web site για δοκιμή web service Επεξήγηση κώδικα: Σε αυτό το σημείο δηλώνουμε ένα αντικείμενο της κλάσης που έχει δημιουργήσει το .ΝΕΤ όπου είναι υπεύθυνο για την επικοινωνία με το Web Service. Στην συνέχεια δηλώνουμε ένα αντικείμενο της κλάσης που έχουμε μέσα στο web service. Δίνουμε τιμές τους αριθμούς που έχει εισάγει ο χρήστης, στις μεταβλητές του αντικειμένου.
Web Services Κατασκευή web site για δοκιμή web service
Web Services Κατασκευή web site για δοκιμή web service Μόλις ολοκληρώσουμε τις αλλαγές στον κώδικα, κάνουμε δεξί κλικ πάνω στο αρχείο Default.aspx και επιλέγουμε το “View in Browser”.
Web Services Κατασκευή web site για δοκιμή web service Ανοίγει ο browser εμφανίζοντας την σελίδα που δημιουργήσαμε.
Web Services Κατασκευή web site για δοκιμή web service Δοκιμάζουμε την σελίδα εισάγοντας δύο αριθμούς στα αντίστοιχα πεδία και επιλέγοντας την μαθηματική πράξη για αυτούς. Τέλος, πατάμε το κουμπί με το ίσον “=” όπου θα καλέσει το web service και εμφανίζει το αποτέλεσμα.