Menu fechado

Arquitetos de Sistemas

WCF Web Services, retornando uma string de erro/exceção ,c# ,angularjs ,serviços web ,wcf ,manipulação de erros [RESOLVIDO]

Visualizando 0 resposta da discussão
  • Autor
    Posts
    • #82081 Responder
      Anderson Paraibano
      Participante

      RESOLVIDO – Artigo sobre WCF Web Services, Retornando uma String de Erro/Exceção com C#, AngularJS, Serviços Web, WCF e Manipulação de Erros

      Introdução
      No desenvolvimento de aplicativos e sistemas distribuídos, é comum o uso de serviços web para comunicação entre diferentes componentes. Um dos frameworks populares para a implementação de serviços web é o Windows Communication Foundation (WCF), que permite a criação e a exposição de serviços web interoperáveis. Neste artigo, abordaremos a implementação de um serviço WCF que retorna uma string de erro ou exceção, explorando as técnicas de manipulação de erros tanto no lado do servidor (C#) quanto no lado do cliente (AngularJS).

      Visão geral do WCF
      O Windows Communication Foundation (WCF) é um framework da plataforma .NET para construção de serviços web seguros e interoperáveis. Ele oferece suporte a diversos protocolos de comunicação, como HTTP, TCP e MSMQ, além de fornecer recursos avançados de segurança e controle de transações.

      Implementação do serviço WCF
      Vamos considerar um cenário em que desejamos criar um serviço WCF simples que retorna uma string de erro ou exceção, dependendo de um determinado critério. A implementação do serviço pode ser feita usando a linguagem de programação C#.

      Criação do projeto WCF
      Inicie criando um novo projeto no Visual Studio e selecione o tipo de projeto “WCF Service Application”. Esse tipo de projeto configurará automaticamente os elementos necessários para um serviço WCF.

      Definição do contrato do serviço
      No projeto recém-criado, você encontrará um arquivo chamado “IService1.cs”. Abra esse arquivo e defina o contrato do serviço, que é uma interface contendo as operações que serão disponibilizadas pelo serviço.

      csharp
      Copy code
      [ServiceContract]
      public interface IService1
      {
      [OperationContract]
      string GetErrorMessage(int errorCode);
      }
      Implementação do serviço
      Agora, abra o arquivo “Service1.svc.cs” e implemente a lógica do serviço.
      csharp
      Copy code
      public class Service1 : IService1
      {
      public string GetErrorMessage(int errorCode)
      {
      if (errorCode == 0)
      {
      throw new FaultException(“Erro personalizado: código de erro inválido.”);
      }
      else
      {
      return $”Erro genérico: código de erro {errorCode}”;
      }
      }
      }
      Configuração do serviço
      Ainda no projeto, abra o arquivo “Web.config” e configure o serviço.
      xml
      Copy code
      <system.serviceModel>
      <services>
      <service name=”NomeDoProjeto.Service1″>
      <endpoint address=”” binding=”basicHttpBinding” contract=”NomeDoProjeto.IService1″/>
      <endpoint address=”mex” binding=”mexHttpBinding” contract=”IMetadataExchange”/>
      </service>
      </services>
      <behaviors>
      <serviceBehaviors>
      <behavior>
      <serviceMetadata httpGetEnabled=”true”/>
      <serviceDebug includeExceptionDetailInFaults=”false”/>
      </behavior>
      </serviceBehaviors>
      </behaviors>
      </system.serviceModel>
      Implantação do serviço
      Agora que o serviço está implementado, você pode implantá-lo em um servidor IIS ou executá-lo localmente para testes.
      Consumindo o serviço com AngularJS
      Com o serviço WCF devidamente implementado, podemos criar um cliente AngularJS para consumi-lo e manipular os erros retornados.

      Configuração do serviço
      No arquivo “app.js” do seu projeto AngularJS, configure o serviço para consumir o serviço WCF.
      javascript
      Copy code
      app.factory(‘MyService’, [‘$http’, function($http) {
      return {
      getErrorMessage: function(errorCode) {
      return $http.get(‘http://localhost:port/Service1.svc/GetErrorMessage/&#8217; + errorCode);
      }
      };
      }]);
      Manipulação de erros
      Em um controlador AngularJS, injete o serviço e implemente a manipulação de erros.
      javascript
      Copy code
      app.controller(‘MainController’, [‘$scope’, ‘MyService’, function($scope, MyService) {
      $scope.error = ”;

      $scope.handleError = function(errorCode) {
      MyService.getErrorMessage(errorCode)
      .then(function(response) {
      $scope.error = response.data;
      })
      .catch(function(error) {
      $scope.error = ‘Erro ao recuperar a mensagem de erro.’;
      console.log(error);
      });
      };
      }]);
      Conclusão
      Neste artigo, abordamos a implementação de um serviço WCF que retorna uma string de erro ou exceção. Exploramos a criação do serviço WCF em C# e a manipulação de erros no lado do cliente usando AngularJS. Com as técnicas apresentadas, você pode desenvolver sistemas distribuídos robustos, lidando eficientemente com erros e exceções ao longo da comunicação entre componentes.

Visualizando 0 resposta da discussão
Responder a: WCF Web Services, retornando uma string de erro/exceção ,c# ,angularjs ,serviços web ,wcf ,manipulação de erros [RESOLVIDO]
Sua informação:





<a href="" title="" rel="" target=""> <blockquote cite=""> <code> <pre class=""> <em> <strong> <del datetime="" cite=""> <ins datetime="" cite=""> <ul> <ol start=""> <li> <img src="" border="" alt="" height="" width="">

Nova denúncia

Fechar