Microsoft MVP성태의 닷넷 이야기
WCF 외부 접속 관련해서 질문드립니다ㅠ [링크 복사], [링크+제목 복사]
조회: 13739
글쓴 사람
이길용
홈페이지
첨부 파일
 

안녕하세요 성태님ㅠ 방학동안 메신저 프로그램을 만들고 있는 학생입니다.
WPF로 클라이언트 WCF 를 통해서 서버를 구현하고 있습니다. 일단 서버컴이 같은 로컬네트웤이 아닌상태이고, 콜백이 필요해서 wsDaulhttp를 이용해야되는데..
서버쪽 컴퓨터에서 포트포워딩하고, WAN IP로 WCF를 셀프호스팅으로 게시하고 있고 있습니다.
basichttp로 할경우에는 wcf 서비스를 호출하고 return값을 받아오는것도 잘되고 있습니다.
wsDaulHttp로 바인딩을 바꾸면 클라이언트로 서비스 참조를 얻어오는것까지는 잘되는데
클라이언트에서 서비스 메소드 호출시에 서버쪽으로 아무런 반응이 오지가 않습니다.. 콜백단계에서 반응이 없는게 아니라 서비스 호출단계에서 보내지지 않는것 같은데요
성태님께서 올려주신 자료중에 clientBaseAddress를 설정하는 부분도 확인해봤지만 일단 호출에서 반응이 없어서...
성태님께서 올려주신 wsdualhttp 예제와 자료도 확인을 해봤습니다..

서론이 길었는데 정리하자면..
1. 같은 로컬이 아닌 서버컴의 WCF 게시를 클라이언트가 받아오고 콜백을 이용할수 있는 방법이 있는지요 (Tcp는 Wan ip로 endpoint를 설정이 안되서요..)
2. 현재 한것 같이 wsDualHttpBinding 으로 클라이언트에서 wcf참조를 얻어오는것은 되는데 메세지 송수신이 안되는 이유가 무엇일까요..?

이틀동안 구글링과 wcf 자료는 전부 찾아봐도 답이 안나오네요 ㅠㅠ..
도움 부탁드립니다..








[최초 등록일: ]
[최종 수정일: 2/9/2017]


비밀번호

댓글 작성자
 



2017-02-09 01시34분
wsDualHttpBinding은 WAN 환경을 위한 것이 아닙니다. 만약 WAN 환경이라면 서버와 클라이언트 모두 public IP(테스트는 안해봤지만 도메인 주소까지)를 가지고 있어야 합니다.

WCF 서비스 참조가 되는 것은 단순히 서비스 명세서(XML로 구성된 WSDL)를 받아오는 것이므로 가능하지만, 메시지 송수신은 Binding에 따라 요구 사항이 다르므로 그런 문제가 발생할 수 있습니다.

좀더 자세한 사항은 다음의 2개 글을 다시 한번 자세하게 읽어보세요.

C# - WCF wsDualHttpBinding의 ClientBaseAddress 속성
; http://www.sysnet.pe.kr/2/0/10986

C# - WCF wsDualHttpBinding의 ClientBaseAddress 속성 - 두번째 이야기
; http://www.sysnet.pe.kr/2/0/10989
정성태

1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5777감사합니...12/29/20223489UI Thread에 Invoke 처리관련 궁금합니다. [3]
5776pdf맨12/28/20223302C# MouseUp Event + pdf [10]
5775민성12/28/20223075안녕하세요 Class 관련해서 예외처리를 하나로 받아낼수 있는 방법 [1]
5774중급12/27/20223849중급개발자란 어느 수준인지요? [4]
5773김영식12/26/20223419c# 압축파일 읽어 올 때 BinaryRead 한글 처리 문제 [1]
5772눈송이12/26/20223523Excel VSTO 는 왜 Net Core, Net 5, 6 버전을 사용하지 않나요? [2]
5771김훈12/26/20223631c# .net client application 망분리(내부망,외부망) 환경에서 의문의 외부사이트 호출 대기 [2]
5770lsh12/26/20223226클라우디움안에 있는 파일을 File.Copy 하고싶은데 코드로는 접근을 못하나요? [1]
5769울타리12/20/20223292Active Directory 2012R2 2016 또는 2019 마이그렝션 문의 드립니다. [1]
5768c++12/14/20224045Thread를 사용한 C++ DLL에 관련된 질문입니다. [6]파일 다운로드2
5767민성12/9/20223390안녕하세요 ashx로 화일을 저장하고 화일명을 리턴하는데요 [1]
5766김명훈12/9/20223541웹브라우저에서 묻지 않고 바로 다운로드 [2]
5765hong12/1/20223767Winform(.Net6) 클라이언트에서 SignalR Core 웹서버에 접속시 인증서 문제 [3]파일 다운로드1
5764요한11/30/20223999c++ 동일한 객체인지 비교 방법문의 [2]
5763고필석11/30/20223493시작하자마자 비정상 종료하는 프로세스에 대한 문제 해결 조언 요청 드립니다. [3]
5762흰털너부리11/30/20223484wpf mvvm ui update 로딩중 표시 [1]
5761민성11/29/20223384죄송하지만 한가지만 더 여쭈어 보겠습니다 [1]
5760민성11/29/20223318안녕하세요 [2]
5759문정환11/28/20223649c# socket 통신할때 빅엔디언으로 바꿔줘야 하나요? [1]
5758라떼11/28/20224833Linux 에서 winform UI 어플리케이션 실행하기 [3]
5757흰털너부리11/25/20223805asp.net core EF AddDbContext,AddDbContextFactory 차이점 알려주세요 [1]
5756흰털너부리11/25/20223377asp.net core web api에서 json 특정 property 무시하는 방법 문의 드립니다. System.Text.Json 사용중입니다. [1]
5755문정환11/24/20223716싱글스레드 프로그램도 컨텍스트 스위칭이 생길 수 있나요? [4]
5754초급11/24/20223570c# 소켓통신 [1]
5753흰털너부리11/24/20223378List와 ObservableCollection을 비교 해서 다른 값 추출 FirstOrDefault 객체 비교 [4]파일 다운로드1
5752푸헐11/15/20223517app.config 에 connectionStrings를 aspnet_regiis로 enctyption [4]
1  2  3  4  5  6  [7]  8  9  10  11  12  13  14  15  ...