Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 63675|Resposta: 8

[.NET Core] ASP.NET Core 3.1 Chamando Serviços WCF do .NET 4.0

[Copiar link]
Publicado em 19/07/2020 22:18:08 | | | |
Ao desenvolver um novo projeto, usando asp.net tecnologia central, o projeto antigo pode ser um serviço WCF desenvolvido usando o .NET Framework 4, pois o custo de reconstrução é muito alto, sendo necessário usar asp.net núcleo para chamar a interface de serviço WCF.

Primeiro, crie dois novos projetos:

ASP.NET Projeto Core 3.1: dotnet-core-call-wcf
Projeto .NET Framework 4 (aplicação de serviço WCF): schools-wcf-service

O Visual Studio 2019 quer criar um serviço WCF, mas não encontra o modelo, solução:

Selecione Instalar mais ferramentas e recursos para abrir o Instalador do Visual Studio. Selecione a aba Componentes Individuais, role para baixo até Atividades de Desenvolvimento, selecione Fundação de Comunicação do Windows e clique em Modificar.


O WCF cria duas interfaces da seguinte forma:

O código de implementação da interface é o seguinte:


Um contrato de serviço é uma coleção de operações de serviço relacionadas, e quando aplicamos um AtributoContratoServiço em uma interface, atribuímos a ele um atributo de contrato de serviço. No entanto, para tal tipo, seu idioma não se torna automaticamente uma operação de serviço contratual, e somente quando a funcionalidade OperationContractAttribute é aplicada o membro correspondente do método pode se tornar uma operação de serviço que pode ser acessada por chamada de serviço.

Quando você iniciar o projeto wcf, ele executará automaticamente o WcfTestClient e tentará chamá-lo, conforme mostrado na figura abaixo:



Use ASP.NET projetos centrais para chamar os serviços WCF

Clique com o botão direito em Serviços Conectados, selecione o serviço ao qual deseja adicionar uma conexão e selecione o serviço WCF, como mostrado na imagem a seguir:



Endereço de serviço preenchido: http://localhost:3705/Service1.svc

Possíveis erros:

WCF:Error:Unable to generate deps.json
https://www.itsvse.com/thread-9288-1-1.html

Como é impossível escrever o endereço do serviço WCF até a morte, adicione o seguinte código ao arquivo appsettings.json:

Edite o arquivo Startup.cs e registre o serviço WCF com o seguinte código:

Chame o serviço wcf no controlador HomeControler, primeira injeção de construtor, o código é o seguinte:

Ligando para o serviço WCF:

Administre o site asp.net Core, o efeito é o que mostra abaixo:



Tentamos modificar o serviço WCF para que a interface retorne o resultado após 3 minutos, e então reiniciamos asp.net núcleo para chamar o serviço WCF, e o erro é o seguinte:

AggregateException: One or more errors occurred. (The request channel timed out attempting to send after 00:01:00. Increase the timeout value passed to the call to Request or increase the SendTimeout value on the Binding. The time allotted to this operation may have been a portion of a longer timeout.)

Neste momento, precisamos modificar o timeout padrão, personalizar a vinculação BasicHttpBinding e reeditar o arquivo Startup.cs, conforme segue:



Código fonte para download:

Turistas, se quiserem ver o conteúdo oculto deste post, por favorResposta





Anterior:Ajuda com corrupção do registro do Windows
Próximo:O VS 2019 utiliza svcutil.exe ferramentas para gerar o arquivo de chamada
Publicado em 15/09/2020 16:26:41 |
Aprenda
Publicado em 11/05/2021 13:58:38 |
Existe um chefe de código-fonte
Publicado em 18/06/2021 15:07:44 |
Só para ver
Publicado em 18/06/2021 15:08:38 |
O código não pode ser visualizado
Publicado em 28/06/2021 10:58:22 |
Não consegui nenhum resultado, o que está acontecendo?
Publicado em 04/07/2021 10:21:09 |
Volte para aprender com os deuses, obrigado por compartilhar
Publicado em 03/08/2022 15:36:10 |
As mesmas necessidades, venha aprender
Publicado em 02/12/2022 01:17:10 |
Aprenda com os deuses
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com