Web Service vs WCF Service

Wat is het verschil tussen hen?

Wanneer zou ik kiezen voor de ene in de andere?


Antwoord 1, Autoriteit 100%

Dit antwoord is gebaseerd op een artikel dat niet langer bestaat:

SAMENVATTING VAN ARTIKEL:

“Kortom, WCF is een servicelaag waarmee u applicaties kunt bouwen die kunnen communiceren met behulp van een verscheidenheid aan communicatiemechanismen. Hiermee kunt u communiceren met behulp van peer tot peer, genoemde buizen, webservices enzovoort.

U kunt ze niet vergelijken omdat WCF een raamwerk is voor het bouwen van interoperabele toepassingen. Als je het leuk vindt, kun je eraan denken als een SOA-enabler. Wat betekent dit?

Nou, WCF voldoet aan iets dat bekend staat als ABC, waarbij A het adres is van de service waarmee u wilt communiceren, B staat voor de binding en C staat voor het contract. Dit is belangrijk omdat het mogelijk is om de binding te wijzigen zonder de code noodzakelijk te veranderen. Het contract is veel krachtiger omdat het de scheiding van het contract van de implementatie dwingt. Dit betekent dat het contract in een interface wordt gedefinieerd en er is een concrete implementatie die door de consument is gebonden met behulp van hetzelfde idee van het contract. De datamodel wordt uitgezet. “

… later …

“zou WCF moeten gebruiken wanneer we moeten communiceren met andere communicatietechnologieën (e, .g peer tot peer, genoemde leidingen) in plaats van webservice”


Antwoord 2, Autoriteit 49%

van Wat is het verschil tussen WCF en WEB-services?

WCF is een vervanging voor alle eerdere webservicetechnologieën van Microsoft. Het doet ook veel meer dan wat traditioneel wordt beschouwd als “webservices”.

WCF-‘webservices’ maken deel uit van een veel breder spectrum van communicatie op afstand die mogelijk wordt gemaakt via WCF. U krijgt een veel hogere mate van flexibiliteit en draagbaarheid door dingen in WCF te doen dan via traditionele ASMX, omdat WCF vanaf het begin is ontworpen om alle verschillende gedistribueerde programmeerinfrastructuren van Microsoft samen te vatten. Met een eindpunt in WCF kan net zo gemakkelijk worden gecommuniceerd via SOAP/XML als via TCP/binair en het wijzigen van dit medium is eenvoudigweg een configuratiebestandsmod. In theorie vermindert dit de hoeveelheid nieuwe code die nodig is bij het overzetten of wijzigen van zakelijke behoeften, doelen, enz.

ASMX is ouder dan WCF, en alles wat ASMX kan, kan WCF (en meer). In principe kun je WCF zien als een poging om alle verschillende manieren om twee apps te laten communiceren in de wereld van Microsoft logisch te groeperen; ASMX was slechts een van deze vele manieren en is nu gegroepeerd onder de WCF-paraplu van mogelijkheden.

Webservices zijn alleen toegankelijk via HTTP & het werkt in een staatloze omgeving, waar WCF flexibel is omdat zijn diensten in verschillende soorten toepassingen kunnen worden gehost. Veelvoorkomende scenario’s voor het hosten van WCF-services zijn IIS, WAS, Self-hosting, Managed Windows Service.

Het belangrijkste verschil is dat webservices XmlSerializergebruiken. Maar WCF gebruikt DataContractSerializer, wat beter presteert in vergelijking met XmlSerializer.


Antwoord 3, autoriteit 47%

Webservice
is gebaseerd op SOAP en retourneert gegevens in XML-vorm.
Het ondersteunt alleen het HTTP-protocol.
Het is geen open source, maar kan worden gebruikt door elke client die XML begrijpt.
Het kan alleen op IIS worden gehost.

WCF
is ook gebaseerd op SOAP en retourneert gegevens in XML-vorm.
Het is de evolutie van de webservice (ASMX) en ondersteunt verschillende protocollen zoals TCP, HTTP, HTTPS, Named Pipes, MSMQ.
Het belangrijkste probleem met WCF is de vervelende en uitgebreide configuratie.
Het is geen open source, maar kan worden gebruikt door elke client die XML begrijpt.
Het kan worden gehost met in de applicatie of op IIS of met behulp van de vensterservice.


Antwoord 4, autoriteit 24%

Het belangrijkste en belangrijkste verschil is dat de ASP.NET-webservice is ontworpen om SOAP-berichten alleen via HTTP uit te wisselen, terwijl de WCF-service berichten kan uitwisselen in elk formaat (SOAP is standaard) via elk transportprotocol, dwz HTTP, TCP, MSMQ of NamedPipes enz. .


Antwoord 5, autoriteit 7%

Wat is het verschil tussen webservice en WCF?

  1. Webservice gebruikt alleen het HTTP-protocol bij het overbrengen van gegevens van de ene applicatie naar de andere.

    Maar WCF ondersteunt meer protocollen voor het transporteren van berichten dan ASP.NET-webservices. WCF ondersteunt het verzenden van berichten via HTTP, evenals het Transmission Control Protocol (TCP), named pipes en Microsoft Message Queuing (MSMQ).

  2. Om een service in Web Service te ontwikkelen, schrijven we de volgende code

    [WebService]
    public class Service : System.Web.Services.WebService
    {
      [WebMethod]
      public string Test(string strMsg)
      {
        return strMsg;
      }
    }
    

    Om een service in WCF te ontwikkelen, zullen we de volgende code schrijven

    [ServiceContract]
    public interface ITest
    {
      [OperationContract]
      string ShowMessage(string strMsg);
    }
    public class Service : ITest
    {
      public string ShowMessage(string strMsg)
      {
         return strMsg;
      }
    }
    
  3. Webservice is architectonisch niet robuuster. Maar WCF is architectonisch
    robuuster en promoot best practices.

  4. Webservices gebruiken XmlSerializer, maar WCF gebruikt DataContractSerializer. wat is?
    betere prestaties in vergelijking met XmlSerializer?

  5. Voor interne (achter firewall) service-naar-service-oproepen gebruiken we het net:tcp
    binding, wat veel sneller is dan SOAP.

    WCF is 25%—50% sneller dan ASP.NET Web Services, en ongeveer 25%
    sneller dan .NET Remoting.

Wanneer zou ik voor de een boven de ander kiezen?

  • WCF wordt gebruikt om te communiceren tussen andere applicaties die zijn ontwikkeld op andere platforms en die andere technologie gebruiken.

    Als ik bijvoorbeeld gegevens van het .net-platform moet overbrengen naar een andere toepassing die op een ander besturingssysteem draait (zoals Unix of Linux) en ze een ander overdrachtsprotocol gebruiken (zoals WAS of TCP), dan is dat alleen mogelijk om gegevens over te dragen met WCF.

  • Hier is geen beperking van het platform, het overdrachtsprotocol van de applicatie terwijl de gegevens tussen de ene applicatie naar de andere applicatie worden overgedragen.

  • Beveiliging is erg hoog in vergelijking met webservice


Antwoord 6, autoriteit 4%

Het belangrijkste verschil is de time-out, de WCF-service heeft een time-out als er geen reactie is, maar de webservice heeft deze eigenschap niet.

Other episodes