클라이언트 응용 프로그램에서 연결하는 WCF 서비스가 있습니다. 구성 파일에서 다음을 사용하고 있습니다. 다음과 같이 코드에서 프로그래밍 방식으로 끝점 추가
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="MyNameSpace.TestService" closeTimeout="00:01:00" openTimeout="00:01:00"
receiveTimeout="00:10:00" sendTimeout="00:01:00" allowCookies="false"
bypassProxyOnLocal="false" hostNameComparisonMode="StrongWildcard"
maxBufferSize="2147483647" maxBufferPoolSize="524288" maxReceivedMessageSize="2147483647"
messageEncoding="Text" textEncoding="utf-8" transferMode="Buffered"
useDefaultWebProxy="true">
<readerQuotas maxDepth="32" maxStringContentLength="2147483647" maxArrayLength="16384"
maxBytesPerRead="4096" maxNameTableCharCount="16384" />
<security mode="None">
<transport clientCredentialType="None" proxyCredentialType="None"
realm="" />
<message clientCredentialType="UserName" algorithmSuite="Default" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:9100/TestService" binding="basicHttpBinding"
bindingConfiguration="MyNameSpace.TestService" contract="TestService.IService" name="MyNameSpace.TestService" />
</client>
</system.serviceModel>
, 나는
TestServiceClient client = new TestServiceClient()
client.BlahBlah()
가 지금은 porgramatically 정의 된 엔드 포인트에 원하는,이 서비스에 대한 API를 호출하고 있습니다. 어떻게 할 수 있습니까? 필자는 TestServiceClient 인스턴스에 몇 가지 코드를 넣어 동적으로 엔드 포인트를 추가해야한다고 생각 했으므로 config 파일의 섹션을 주석 처리했지만 TestServiceClient가 인스턴스화 된 시점에서 예외를 throw합니다.
는 ServiceModel은 서비스 클라이언트 구성 섹션에 계약 'TestService.IService'를 참조하는 기본 끝점 요소를 찾을 수 없습니다. 응용 프로그램에 에 대한 구성 파일이 없거나이 계약과 일치하는 끝점 요소가 클라이언트 요소에서 발견되지 않았기 때문일 수 있습니다.
나는이 작업을 수행 할 수 있습니까? 또한 프로그래밍 방식으로 끝점을 추가하는 코드 예제의 모든 점을 이해할 수 있습니다.