Diferența dintre SVC și asmx

.SVC vs ... asmx

Chiar avem nevoie să ne luăm la revedere de la .asmx?

Fiecare dezvoltator de web-uri este familiarizat cu .asmx, în timp ce unii sunt doar familiarizați cu .svc. Acestea sunt concepte tehnice care sunt de cea mai mare importanță pentru o linie de lucru a dezvoltatorului datorită naturii sale dinamice. Întrebarea este că există o mare diferență între .svc și .asmx? Ar trebui să facă marele comutator de la .asmx la .svc?

.ASMX definește serviciile Web numite de o Pagină Active Server (fișier .ASP), care este apoi acumulată automat de ASP.NET odată ce există o cerere către serviciu. Acestea sunt disponibile pe Internet și, de asemenea, dintr-o rețea locală. Pentru a seta limbajul de programare la fișierele Visual Basic, C # sau Jscript, fișierele .asmx încep cu directiva ASP.NET WebService, care este apoi reușită de parametrul de limbă folosind un server web Windows cu .NET.

Pe de altă parte, SVC sau .svc este o extensie a fișierelor de calculator utilizată de Microsoft Communication Foundation pentru a simboliza un serviciu găzduit de Internet Information Services. Windows Communication Foundation sau WCF este o interfață de programare a aplicațiilor (API) în cadrul .NET pentru construirea de aplicații legate de servicii.

Deci, care este diferența dintre cele două? .SVC poate fi numit .asmx pe steroizi, deoarece poate face tot ceea ce .asmx poate, dar cu mai multe caracteristici. Când dezvoltatorii web vorbesc despre .asmx, știu că este ceva nu prea complicat - poate fi configurat cu ușurință. Dezavantajul este că este doar apelabil din HTTP, în timp ce .svc este folosit cu HTTP, MSMQ și poate fi găzduit pe diferite platforme, cum ar fi aplicația Winforms.

După cum vedem, .svc poate înlocui .asmx în toată gloria sa.

Cu toate acestea, .svc poate implica mai multă pregătire; este nevoie de efort suplimentar în înțelegerea configurației .svc. Acesta este motivul pentru care mulți dezvoltatori preferă să folosească .asmx peste .svc ... ASMX este simplu dar nu foarte puternic; .SVC este viitorul platformei .Net.

.ASMX și .SVC sunt ușor de învățat și codificați, și au atribute paralele care sunt suplimentare la clasele de servicii și date. Dar asemănarea se termină acolo. Mai multe diferențe cheie dintre cele două sunt următoarele: .asmx este mai ușor de configurat decât .svc, deoarece .svc adaugă atât de multe chei de configurare cu diverse opțiuni care ar putea să nu fie în întregime utile ... ASMX este ușor de implementat din cauza .svc și a complexului său configurații și opțiuni. ASMX nu acceptă standarde WS- *, spre deosebire de .svc; va fi un hassle foarte mare pentru a lucra cu WS- * cu .asmx ... SVC sprijină, de asemenea, formatele de date binare și REST. În plus, .SVC poate capta mesaje în cadrul serviciului / clientului. Există un cod de creare .svc care poate rula proceduri nedefinite pentru a intercepta mesaje și a le trasa în toate operațiunile de serviciu.

.ASMX nu este capabil să facă acest lucru, ceea ce este nefericit, deoarece poate fi practic în anumite circumstanțe complexe, cum ar fi efectuarea tehnicilor de autentificare, autorizare, logare și rutare personalizate. Cu toate acestea, dacă utilizați încă SOAP Basic Profile, utilizați întotdeauna .asmx pentru simplitatea sa și apoi treceți la .svc dacă aveți nevoie de una dintre caracteristicile sale. Totuși, modul de a merge este să treci complet la .svc.

.ASMX se apropie de dispariție, iar .svc este prezentul și viitorul dezvoltării web ... SVC poate face mai mult decât toate asamblările .asmx, motiv pentru care există o necesitate stringentă de a învăța .svc.

Rezumat:

1. Asmx definește serviciile web numite de o pagină Active Server (fișier .ASP), care este apoi acumulată automat de ASP.NET odată ce există o cerere către serviciu.

2 ... SVC sau .svc este o extensie de fișiere de calculator utilizată de Microsoft Communication Foundation pentru a simboliza un serviciu găzduit de Internet Information Services.

3 ... SVC poate fi numit .asmx pe steroizi.

4 ... SVC poate înlocui .asmx în toată gloria sa.