2014-11-21 2 views
1

나는 MySQL 데이터베이스에 액세스 할 책임이있는 WCF 서비스를 작성했으며 결국 서비스를 사용하는 C# 클라이언트 응용 프로그램을 작성합니다.데이터베이스에 연결하는 원격 WCF 서비스를 호스팅하고 연결하는 방법은 무엇입니까?

그러나 고객이 원격으로 서비스에 액세스 할 수 있기를 바랍니다. 이를 위해 호스팅/종점 구성의 이상적인 방법 및/또는 원격 클라이언트에서 서비스에 액세스하는 방법은 무엇입니까?

다음 튜토리얼과 다른 몇 가지를 살펴 보았지만 여전히 앱 도메인, 호스팅, 원격 액세스 개념을 이해하지 못하고 원격으로 연결하는 방법에 대한 단서가 없습니다.

http://msdn.microsoft.com/en-us/library/bb332338.aspx
Can a client remotely access WCF self-hosting Service?

어떤 좋은 튜토리얼, 샘플 코드, 제안이나 아이디어 또는 내가 완전히 잘못 짚었 무엇입니까? 사전

+0

링크를 제공해 주셔서 감사합니다. 현재 IIS 설정을위한 자습서를 진행하고 있습니다. 어떻게 진행되는지 알려 드리겠습니다. –

답변

0

에서

덕분에 나는 일이 본 가장 좋은 방법은 IIS에서 서비스를 호스팅하는 것입니다, 바람직하게는 7 통합은 IIS.

다음은 IIS에서 WCF 서비스를 호스팅하기위한 링크입니다. http://msdn.microsoft.com/en-us/library/ms733766%28v=vs.110%29.aspx

서비스 호스팅은 실제로 비교적 쉽고 단 몇 분 정도 걸립니다.

호스트 된 서비스를 참조 할 수도 있고, 아직 호스팅되지 않은 경우 발견을 누르면 로컬로 참조 할 수도 있습니다. 서비스 참조를 C# 프로젝트에 추가하면됩니다. 호스트 된 경우 IIS 7에 정의 된 URL을 추가하십시오. 호스팅하지 않았다면 WCF 서비스와 C# 프로젝트를 같은 솔루션 아래 놓고 발견하십시오.

다음은 프로젝트에 서비스 참조를 추가하는 링크입니다. http://msdn.microsoft.com/en-us/library/bb628652.aspx

응용 프로그램 유형에 따라 app.config 파일이나 web.config 파일을 설정하여 C# 프로젝트가 서비스와 상호 작용하는 방식을 정의 할 수 있습니다. 내 데이터 요청 길이, 시간 초과, 버퍼 크기, 스트리밍 또는 버퍼 된 전송 요법은 무엇입니까?

샘플 :

<bindings> 
    <binding name="MyBindingConfiguration" closeTimeout="00:30:00" 
     openTimeout="00:30:00" receiveTimeout="00:30:00" sendTimeout="00:30:00" 
     allowCookies="false" bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard" 
     maxBufferPoolSize="2147483647" maxBufferSize="2147483647" maxReceivedMessageSize="2147483647" 
     textEncoding="utf-8" transferMode="Buffered" useDefaultWebProxy="true" 
     messageEncoding="Text"> 
</bindings> 
<client> 
     <endpoint address="http://localhost:55010/MyService.svc" 
     binding="basicHttpBinding" bindingConfiguration="MyBindingConfiguration" 
     contract="IMyWcfInterface"/> 
</client> 

이 도움이되는지 알려주세요.

+0

IIS를 표시된대로 설치했지만 기본 웹 사이트에 응용 프로그램을 추가 할 때 "잘못된 응용 프로그램 경로"오류가 발생합니다. –

+1

제대로 설치하지 않아서 발생하는 다양한 서버 오류를 무효화 한 후 몇 가지 잘못 구성된 경우 작동하는 것처럼 보이는 서비스가 생겼습니다 (브라우저에 연결하여 올바른 페이지를 얻을 수 있음). 나는 곧 클라이언트를 설치하게 될 것이지만, 그것은 더 쉬운 비트처럼 보인다. 이것에 대한 귀하의지도 주셔서 감사합니다. –

+0

서비스를 실행하기 위해 동일한 코드와 asp.net 버전을 사용한다면 SOAP를 사용하지 않고 런타임에 연결하려는 서비스의 주소를 사용자가 변경할 수있게 할 수 있습니까? 주소? –

0

호스팅의 경우 IIS 바인딩과 http 바인딩을 권하는 메커니즘은 웹 응용 프로그램 호스팅과 비슷합니다. IIS 호스팅 wcf 서비스에 액세스하는 것과 관련하여 클라이언트 응용 프로그램에 서비스 참조를 추가하기 만하면됩니다. 그러면 서비스에 액세스하는 데 사용할 수있는 프록시 클래스가 자동으로 생성됩니다. 더 자세한 내용을보실 수 있습니다 here

관련 문제