To bardzo stare pytanie, ale nie sądzę, że zalety ASMX zostały dość dobrze przedstawione. Chociaż usługi sieciowe ASMX nie są zbyt elastyczne, są bardzo proste w użyciu i zrozumieniu. Podczas gdy WCF jest bardziej elastyczny, jest również bardziej złożony, aby wstać i skonfigurować.
Usługi sieciowe ASMX są gotowe do wstania i dodania jako odwołania do usługi internetowej, gdy tylko dodasz plik. (zakładając, że Twój projekt się kompiluje)
W prostym przepływie pracy programistycznej
create webservice
-> run webservice
-> add webservice reference
usługa sieciowa ASMX ma bardzo niewiele rzeczy, które mogą pójść źle, niewiele, które można źle skonfigurować, i to jest jej siła.
W odpowiedzi na te, które twierdzą, że WCF zastępuje ASMX, odpowiedziałbym, że WCF będzie musiał dodać usprawniony tryb konfiguracji KISS, aby całkowicie zastąpić ASMX.
Przykład web.config dla usługi sieciowej ASMX:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings />
<system.web>
<compilation targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
</configuration>