이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 63675|회답: 8

[.NET 코어] ASP.NET Core 3.1 .NET 4.0 WCF 서비스 호출 튜토리얼

[링크 복사]
게시됨 2020. 7. 19. 오후 10:18:08 | | | |
새로운 프로젝트를 개발할 때, 핵심 기술을 asp.net 사용할 때, 기존 프로젝트는 .NET Framework 4를 사용해 개발된 WCF 서비스일 수 있습니다. 재구성 비용이 너무 높아 WCF 서비스 인터페이스를 호출하기 위해 asp.net 코어를 사용해야 합니다.

먼저, 두 개의 새로운 프로젝트를 생성하세요:

ASP.NET Core 3.1 프로젝트: dotnet-core-call-wcf
.NET Framework 4 프로젝트 (WCF 서비스 애플리케이션): schools-wcf-service

Visual Studio 2019에서 WCF 서비스를 만들고 싶어 하는데, 템플릿을 찾을 수 없어요. 해결책:

Visual Studio 설치 프로그램을 열려면 '더 많은 도구 및 기능 설치'를 선택하세요. 개별 구성 요소 탭을 선택한 후 개발 활동으로 스크롤하여 Windows 커뮤니케이션 재단을 선택한 후 수정을 클릭하세요.


WCF는 다음과 같이 두 가지 인터페이스를 생성합니다:

인터페이스 구현 코드는 다음과 같습니다:


서비스 계약은 관련된 서비스 작업들의 집합이며, 인터페이스에 ServiceContractAttribute를 적용하면 서비스 계약 속성을 부여합니다. 하지만 이러한 유형의 경우, 그 관용구가 자동으로 계약적 서비스 연산이 되지 않으며, OperationContractAttribute 기능이 적용될 때만 해당 메서드 구성원이 서비스 호출로 접근 가능한 서비스 연산이 될 수 있습니다.

wcf 프로젝트를 시작하면 자동으로 WcfTestClient를 실행하고 아래 그림과 같이 호출을 시도합니다:



ASP.NET Core 프로젝트를 사용하여 WCF 서비스를 호출하세요

연결 서비스 우클릭 후 연결을 추가하고자 하는 서비스를 선택한 후 WCF 서비스를 선택하세요. 아래 이미지에 나와 같이 있습니다:



서비스 주소 작성: http://localhost:3705/Service1.svc

가능한 오류:

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

WCF 서비스 주소를 완전히 쓰는 것은 불가능하므로, appsettings.json 파일에 다음 코드를 추가하세요:

Startup.cs 파일을 편집하고 다음 코드로 WCF 서비스를 등록하세요:

HomeController 컨트롤러에서 wcf 서비스를 호출하고, 첫 번째 생성자 주입을 하면 코드는 다음과 같습니다:

WCF 서비스 호출:

asp.net 코어 웹사이트를 운영하면, 효과는 아래와 같습니다:



인터페이스가 3분 후에 결과를 반환하도록 WCF 서비스를 수정한 후 코어를 재 asp.net 시작해 WCF 서비스를 호출하려 시도하는데, 오류는 다음과 같습니다:

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.)

현재는 기본 타임아웃을 수정하고, BasicHttpBinding 바인딩을 커스터마이즈하며, Startup.cs 파일을 다음과 같이 재편집해야 합니다:



소스 코드 다운로드:

관광객 여러분, 이 게시물의 숨겨진 내용을 보고 싶으시다면 부탁드립니다회답





이전의:Windows 레지스트리 손상 도움
다음:VS 2019는 호출 파일을 생성하기 위해 svcutil.exe 도구를 사용합니다
게시됨 2020. 9. 15. 오후 4:26:41 |
배우세요
게시됨 2021. 5. 11. 오후 1:58:38 |
소스 코드가 있습니다 보스
게시됨 2021. 6. 18. 오후 3:07:44 |
그냥 보려고요
게시됨 2021. 6. 18. 오후 3:08:38 |
코드를 볼 수 없습니다
게시됨 2021. 6. 28. 오전 10:58:22 |
아무런 결과를 얻지 못했는데, 도대체 무슨 일이죠?
게시됨 2021. 7. 4. 오전 10:21:09 |
신들에게 배우러 돌아오세요, 공유해 주셔서 감사합니다
게시됨 2022. 8. 3. 오후 3:36:10 |
같은 필요, 와서 배워
게시됨 2022. 12. 2. 오전 1:17:10 |
신들에게 배워라
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com