Utilizarea serviciilor wcf - synchronizationmodule - documentația oreodor

WCF (Windows Communication Foundation) face parte din .NET Framework. concepute pentru a dezvolta aplicații orientate spre servicii și schimb de date. Sprijină diferite modalități de interacțiune. Ca server poate acționa ca o aplicație normală și web. În acest caz, clientul poate fi o aplicație construită pe aproape orice platformă.







Serviciul WCF este o aplicație care oferă un set de puncte finale pentru comunicare. Ele pot fi reprezentate ca puncte de comunicare în lumea exterioară.

Punctul final este definit de următoarele caracteristici:

Un client este un program care schimbă mesaje cu unul sau mai multe puncte finale. Clientul, cunoscând caracteristicile specificate, se referă la punctul final pentru efectuarea operațiunilor necesare pentru el.

Scenariile de utilizare

  • De exemplu, puteți crea un serviciu web care acceptă sesiune și tranzacții, precum și pentru a extinde capacitatea sa de a verifica mesajele prime în care acestea vin în.
  • Sau creați un software pentru a face schimb de date între sistemul corporativ existent și serviciile web ale companiei.
  • Serviciile care utilizează WCF permit accesul unificat la funcționalitatea sistemului, atât pentru aplicațiile noastre, cât și pentru consumatorii terți.

Algoritmul de aplicare

Scrierea (și configurarea) serviciului WCF este întotdeauna un proces în trei pași.

Luați în considerare acești pași mai mult. Crearea serviciilor WCF începe cu descrierea contractelor de date.

Pentru a defini un contract de date, este necesar să notați atributele:

  1. [DataContract] este o clasă care definește un contract de date.
  2. [DataMember] - fiecare câmp din această clasă care va participa la schimbul de date.

Nu este necesar ca toate câmpurile să fie marcate ca [DataMember]. Acest lucru face posibilă excluderea acestora din lista disponibilă pentru client.

Contracte pentru tipuri standard, cum ar fi int sau string. sunt deja definite în WCF. Prin urmare, este necesar să se descrie contractele numai pentru tipuri personalizate.







Apoi, pentru a obține datele, aveți nevoie de o clasă nouă care să definească sursa de date. În cazul în care contractul este definit pentru date este sursa de date, puteți merge la descrierea interacțiunii de serviciu cu clienții prin intermediul unor contracte de servicii.

Contractele de servicii definesc operațiunile care pot fi accesate de client. Pentru a le defini în același mod ca și în cazul datelor, se folosesc următoarele atribute:

  1. [ServiceContract] - indică clasa sau interfața care definește metodele contractului.
  2. [OperationContract] - specifică metodele care vor fi disponibile clienților.

Descrierea poate fi fie în clasă imediat, fie ca interfață. Ultima opțiune este o practică mai preferată, deoarece Nu obligă contractul la implementare.

În cele din urmă, pentru munca deplină, se determină parametrii interacțiunii serviciului cu lumea exterioară. Trebuie să adăugați fișierul Web.config în secțiune următoarele linii:

  • bloc . care indică faptul că configurația WCF este următoarea.
  • secțiune , care servesc pentru a descrie comportamentul.
  • secțiune cu instrucțiuni pentru configurarea mediului.
  • secțiune . unde sunt specificate serviciile . care sunt disponibile din exterior. Fiecare serviciu conține un punct final ( ), pentru care se indică comportamentul, legătura și contractul susținut. Legare webHttpBinding înseamnă că utilizează protocolul HTTP pentru mesagerie (formatul de răspuns Json este setat implicit).

În implementarea noastră, setările din Web.config nu sunt necesare. Când porniți aplicația, serviciile sunt configurate automat.

Exemplu din sistem

De exemplu, luați în considerare implementarea unui serviciu care oferă informații despre serviciile WCF care rulează pe server.

Interfața arată astfel:

Singura diferență față de serviciul clasic WCF este moștenirea de la IService. Această interfață este goală și servește numai pentru a găsi și a porni serviciile atunci când începe aplicația. Luați în considerare punerea în aplicare a clasei personalizate ServiceInformation:

[AllowAnonymousAccess] - atribut indică faptul că serviciul poate contacta în mod anonim, fără a oferi jeton.

Dacă serviciul nu oferă acces anonim, se poate atribui atributul [ServiceSecurity] pe metodă. Apoi, această metodă va fi executată cu drepturile utilizatorului pentru care este emisă jetonul.

Această metodă obține informații despre serviciile disponibile pe sistemul la distanță.

Indică interfața de serviciu, la care doresc să acceseze este transferat într-un sistem extern (conține sistem de Uri, și din ea putem obține un jeton dacă este cazul), numele serviciului (să știe ce fel să-l caute pe server) și de pavilion (utilizati accesul anonim )

Folosind încercați să prindeți. închidere, necesară. Obiectul este de unică folosință, dar cu ajutorul unei conexiuni deschise.

Link-uri utile







Articole similare

Trimiteți-le prietenilor: