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

안녕하세요 성태님ㅠ 방학동안 메신저 프로그램을 만들고 있는 학생입니다.
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)
5968orion4/30/2025171winform DataSet.xsd의 암호화 된 ConnectionString 사용 질문 [1]
5966GM B4/30/2025186C#과 python 연동 질문 [1]
5962SunN...4/21/2025532Contextmenu margin 조절 [1]파일 다운로드2
5961GM B4/10/2025935winform => wpf 마이그레이션 방법 질문 [4]파일 다운로드1
5960Kim ...4/9/20251182안녕하세요.. 혹 AI & C# 에 대해서도 다루시나요? [1]
5959vict...2/10/20251881비주얼 스투디오 CLR 코드 탑색 질문입니다. [1]
5958Supe...1/18/20252857C#으로 DLL을 만들때 WebVeiw2을 이용하여 Vb6에서 사용할수 있는지 문의드립니다. [2]
5956fc1/11/20252858한국투자증권 KIS Developers OpenAPI의 C# 래퍼 버전 - eFriendOpenAPI NuGet 패키지 [1]
5955tree...11/8/20244507C#12 책 179 페이지 문의 사항 [2]
5954SunN...10/10/20244974textbox에서 글자입력후 textBox1_KeyUp함수에서listBox1_SelectedIndexChanged 강제호출방법 [1]
5953Roya10/4/20244925c# com host dll을 c++에서 사용할 때, sdk 관련 runtime 을 설치 안하고 제공할수 있을까요?? [1]
5952우광현9/5/20246071서버용 소켓 포트 동적포트 적용시 클라이언트가 호출하는 방법? [2]
5951Kun ...8/21/20245682c++에서 복합데이터 Struct를 .NET Framework에서 구현할 수 있는 방법이 있을까요? [2]
5950SunN...8/18/20246238정석대로 한다면 response.Close() 해야되는지요? [4]
5949SunN...8/16/20246327SqlConnection Open()에서 에러가나면 Close()하는 시점 [3]
5948SunN...8/14/20246206WebRequestMethods.Ftp.MakeDirectory 해제 [3]
5947Roya8/7/20246986c# dll을 cpp lib에서 사용을 할려고 하는데요. CoCreateInstance 에서 지정된 파일을 찾을수 없다고 나오는대요. [4]
5946SunN...8/5/20247092TaskDefinition 에서 사용저가로그온상관없이실행 [3]파일 다운로드1
5945SunN...8/3/20246956윈도우 작업스케줄러 [1]
5944roya8/1/20246902C# dll을 C++ 프로젝트에서 사용을 하고 싶은데, 레지스트리 등록 없이 가능한걸까요?? [2]
5943SunN...8/1/20246765윈도우C#에서 리눅스FTP로 업로드 및 리눅스에 폴더생성(WindowsOS에서C#으로) [3]
5942vict...7/24/20246810dll 을 c#에서 쓰고 싶습니다 [1]
5941vict...7/17/20248290DependencyObject와 같은 스레드에서 DependencySource를 만들어야 합니다. 오류 [2]
5940ckm7/16/20248707선생님 안녕하세요 async await 교착 관련 질문입니다 [1]
5939괴물신인7/9/20248412템플릿 대체할수있는방법이 있을까요? [6]
[1]  2  3  4  5  6  7  8  9  10  11  12  13  14  15  ...