Metodele și funcțiile furnizate de serviciul WCF sunt specificate prin marcarea acestora cu atributul OperationContractAttribute. În plus, puteți furniza date serializate marcând tipul compozit cu atributul DataContractAttribute. Acest lucru face posibilă legarea datelor către client.
După ce interfața și metodele acesteia au fost definite, acestea sunt încapsulate într-o clasă care implementează această interfață. Contractele de servicii WCF multiple pot implementa singura clasă.
Serviciul WCF este furnizat pentru utilizarea de către ceea ce se numește un punct final. Punctul final este singura modalitate de a comunica cu acest serviciu; Este imposibil să le accesați printr-o legătură directă, spre deosebire de alte clase.
WCF Client
Clientul WCF este alcătuit dintr-un proxy. Aceasta permite aplicației să comunice cu serviciul (WCF) și punctul de final corespunzător punctului final specificat pentru acest serviciu. Proxy-ul este creat pe partea clientului în fișierul app.config și include informații despre tipurile și metodele furnizate de serviciu. În cazul serviciilor care oferă multiple puncte finale, clientul poate alege unul care îndeplinește cel mai bine cerințele sale; de exemplu, clientul poate alege metoda de comunicare prin protocolul HTTP și autentificarea Windows.
După ce creați un client WCF, puteți accesa serviciul acestuia în cod, la fel cum ați face cu orice alt obiect. De exemplu, pentru a apela metoda GetData. prezentat mai sus, puteți scrie despre următorul cod:
Crearea și testarea serviciilor WCF
Pentru a vă crea rapid propriul serviciu, puteți utiliza baza Visual Studio WCF template. Apoi, utilizați instrumentele Gazdă Auto ale WCF și WCF Test Client pentru a depana și a testa serviciul. Ambele instrumente furnizează un ciclu rapid și convenabil de depanare și testare și elimină necesitatea de a fixa modelul de plasare într-un stadiu incipient.
WCF șabloane
Șabloanele Visual Studio WCF oferă o structură de clasă de bază pentru dezvoltarea unui serviciu. Mai multe șabloane WCF sunt disponibile în caseta de dialog Adăugare proiect nou. În special, acestea sunt șabloanele proiectului de bibliotecă de servicii WCF, site-urile de servicii WCF și elementele de serviciu WCF.
Când selectați un șablon, fișierele sunt adăugate la contractul de servicii, la implementarea serviciului și la configurația serviciului. De asemenea, toate atributele necesare sunt adăugate, creând un simplu serviciu tip "Hello World" și nu este nevoie să creați niciun cod. Desigur, poate fi necesar să adăugați un cod pentru a furniza funcțiile și metodele serviciului actual, deoarece șabloanele oferă doar baza constructorului.
Pentru mai multe informații despre șabloanele WCF, consultați Șabloane WCF în Visual Studio.
WCF gazdă de servicii
Când porniți programul de depanare Visual Studio (apăsând pe tasta F5) pentru proiectul de serviciu WCF, instrumentul gazdă pentru serviciul WCF se lansează automat pentru a plasa acest serviciu local. gazda de servicii WCF creează o listă de servicii în proiectul de servicii WCF, încarcă configurația proiectului și creează un nod pentru fiecare serviciu găsit.
Folosind gazda de servicii WCF, puteți testa serviciul WCF fără a crea cod suplimentar sau să vă angajați la un anumit nod în momentul proiectării.
Pentru mai multe informații despre gazda de servicii WCF, consultați Nodul de servicii WCF (WcfSvcHost.exe).
WCF Test Client
Instrumentul WCF Test Client vă permite să introduceți parametrii de testare, să le trimiteți la serviciul WCF și să vedeți răspunsul serviciului. Atunci când este combinat cu nodul de servicii WCF, acest instrument oferă o practică convenabilă de testare a serviciului.
Când apăsați F5 pentru a depana proiectul de serviciu WCF, se deschide Clientul de testare WCF, care listează obiectivele de serviciu specificate în fișierul de configurare. Puteți testa aceste setări și puteți porni serviciul și repetați acest proces pentru testarea și validarea succesivă a serviciului.
Pentru mai multe informații despre WCF Test Client, consultați WCF Test Client (WcfTestClient.exe).
Accesarea serviciilor WCF în Visual Studio
Visual Studio simplifică sarcina creării automate a clienților WCF prin crearea unui proxy și a unui punct final pentru serviciul pe care îl adăugați utilizând caseta de dialog Add service reference. Toate informațiile de configurare necesare sunt adăugate în fișierul app.config. În cea mai mare parte, tot ce trebuie să faceți este să creați un serviciu astfel încât să îl puteți utiliza mai târziu.
Unele servicii Windows Communication Foundation (WCF) oferă câteva puncte finale prin care clientul poate comunica cu serverul. De exemplu, un serviciu poate furniza un punct final care utilizează legarea și autentificarea HTTP ca nume de utilizator / parolă și un al doilea parametru care utilizează autentificarea FTP și Windows. Primul punct final poate fi folosit de aplicațiile care accesează serviciul situat în afara firewall-ului, în timp ce al doilea punct final poate fi utilizat pe intranet.
În acest caz, puteți specifica parametrulConfigurationName ca parametru constructor pentru referința de service.
Numele sau locațiile anumitor elemente ale interfeței utilizator Visual Studio afișate pe calculator pot fi diferite de cele listate în instrucțiunile de mai jos. Aceasta depinde de versiunea existentă a Visual Studio și de parametrii utilizați. Pentru informații suplimentare, consultați Personalizarea IDE.
Pentru a selecta punctul final al serviciului
Adăugați o referință la serviciul WCF. Pentru informații suplimentare, consultați Cum să: adăugați, actualizați sau eliminați o referință de service.
Datele returnate de Windows Communication Foundation (WCF) pot fi legate de control în același mod ca și datele de la orice altă sursă. Dacă serviciul WCF conține tipuri compuse care returnează date, atunci când adăugați o legătură către acest serviciu, datele returnate sunt adăugate automat în fereastra Surse de date.
Pentru a lega un control la un câmp de date returnat de serviciul WCF
În meniul Date, faceți clic pe Afișați sursele de date. Se afișează fereastra Surse de date.
În fereastra Surse de date, extindeți nodul pentru referința de serviciu dorită. Se vor afișa toate tipurile compuse returnate de serviciu.
Extindeți nodul tip. Câmpurile de date pentru acest tip vor fi afișate.
Selectați un câmp și faceți clic pe săgeata derulantă pentru a afișa o listă a comenzilor disponibile pentru tipul de date selectat.
Faceți clic pe tipul de control pe care doriți să îl legați.
Trageți câmpul pe formular. Controlul va fi adăugat la formular împreună cu componentele BindingSource și BindingNavigator.
Repetați pașii patru până la șase pentru toate celelalte câmpuri pentru care doriți să le legați.
Pentru a lega un control de tipul compozit returnat de serviciul WCF
În meniul Date, faceți clic pe Afișați sursele de date. Se afișează fereastra Surse de date.
În fereastra Surse de date, extindeți nodul pentru referința de serviciu dorită. Sunt afișate toate tipurile compuse returnate de serviciu.
Selectați nodul de tip și faceți clic pe săgeata drop-down pentru a afișa o listă cu opțiunile disponibile.
Faceți clic pe DataGridView. Pentru a afișa datele ca tabel sau Detalii. pentru a trimite date în elemente de control separate.
Trageți nodul pe formular. Controalele vor fi adăugate la formular împreună cu componentele BindingSource și BindingNavigator.
Când adăugați referințe la un serviciu în acest proiect local, sunt create toate tipurile specificate în serviciu. Dacă serviciul utilizează tipuri comune de .NET Framework sau tipurile sunt specificate în biblioteca partajată, atunci în majoritatea cazurilor sunt create tipuri duplicat.
Chirby evita această problemă, tipuri de ansambluri care sunt menționate în mod implicit sunt partajate. Dacă doriți să dezactivați partajarea de tip pentru una sau mai multe ansambluri, puteți face acest lucru în caseta de dialog Configure Assembly Links.
Pentru a dezactiva partajarea de tip într-un singur ansamblu
În Solution Explorer, selectați referința de serviciu cerută.
În meniul Proiect, faceți clic pe Configurați link-ul de serviciu.
Bifați caseta de selectare pentru fiecare ansamblu în care doriți să activați partajarea de tip. Pentru a dezactiva partajarea de tip, debifați această casetă.
Pentru a dezactiva partajarea de tip în toate ansamblurile
În Solution Explorer, selectați referința de serviciu cerută.
În meniul Proiect, faceți clic pe Configurați link-ul de serviciu.