Наистина ли трябва да се сбогуваме с .asmx?
Всеки уеб разработчик е запознат с .asmx, докато някои просто се запознават с .svc. Това са технически концепции, които са от изключително значение за работата на разработчика поради динамичния му характер. Въпросът е дали наистина има голяма разлика между .svc и .asmx? Трябва ли хората да направят голямото преминаване от .asmx към .svc?
.ASMX дефинира уеб услуги, извикани от активна страница на сървъра (.ASP файл), която след това автоматично се натрупва от ASP.NET, след като има заявка за услугата. Те са лесно достъпни в Интернет, а също и от местна мрежа. За да зададете езика за програмиране на Visual Basic, C # или Jscript, .asmx файловете започват с ASP.NET директива WebService, която след това се наследява от езиковия параметър, използвайки уеб-сървър, базиран на Windows, с .NET рамката.
От друга страна, SVC, или .svc, е компютърно разширение на файлове, използвано от Microsoft Communication Foundation на Microsoft, за да символизира услуга, хоствана от интернет информационни услуги. Фондът за комуникация на Windows или WCF е интерфейс за програмиране на приложения (API) в .NET рамката за изграждане на свързани, ориентирани към услуги приложения.
И така, каква е разликата между двете? .SVC може да се нарече .asmx на стероиди, защото може да направи всичко, което .asmx може, но с повече функции. Когато уеб разработчиците говорят за .asmx, те знаят, че това е нещо, което не е твърде сложно - може да бъде конфигурирано лесно. Недостатъкът е, че може да се извиква само от HTTP, докато .svc се използва с HTTP, MSMQ и може да бъде хостван чрез различни платформи като приложението Winforms.
Както виждаме .svc може да замени .asmx в цялата си слава.
Въпреки това, .svc може да доведе до повече обучение; има нужда от допълнителни усилия за разбиране на конфигурацията на .svc. Това е причината много разработчици все още да предпочитат да използват .asmx over .svc ... ASMX е проста, но не много мощна; .SVC е бъдещето на платформата .Net.
.ASMX и .SVC са лесни за научаване и кодиране и имат паралелни атрибути, които са допълнителни към класовете за услуги и данни. Но приликата свършва там. По-ключовите разлики между двете са следните: .asmx е по-лесно да се конфигурира от .svc, защото .svc добавя толкова много конфигурационни ключове с различни опции, които може да не са напълно полезни ... ASMX е лесен за внедряване поради .svc и неговия комплекс конфигурации и опции. ASMX не поддържа WS- * стандарти, за разлика от .svc; ще бъде много голяма труда да работите с WS- * с .asmx ... SVC също поддържа двоични формати на данни и REST. Освен това .SVC може да улавя съобщения в услугата / клиента. Има .svc код за създаване, който може да изпълнява неопределени процедури за прихващане на съобщения и преминаването им във всички операции на услугата.
.ASMX не е в състояние да направи това, което е жалко, защото може да бъде практично при определени сложни обстоятелства, като например да правите персонализирани техники за автентификация, оторизация, регистриране и маршрутизиране. Ако все пак използвате SOAP Basic Profile, винаги използвайте .asmx за неговата простота и след това преминете към .svc, ако се нуждаете от една от неговите функции. И все пак пътят е да се преминете напълно към .svc.
.ASMX наближава изчезването, а .svc е настоящето и бъдещето на уеб разработката ... SVC може да направи много повече от всички .asmx комбинирани, поради което има належаща нужда да се научи .svc.
1. .asmx дефинира уеб услуги, извикани от активна страница на сървъра (.ASP файл), която след това автоматично се натрупва от ASP.NET, след като има заявка за услугата.
2… SVC, или .svc, е компютърно разширение на файлове, използвано от Microsoft Communication Foundation на Microsoft за символизиране на услуга, хоствана от интернет информационни услуги.
3… SVC може да се нарече .asmx на стероиди.
4… SVC може да замени .asmx във цялата си слава.