WCF ServiceModel 클라이언트 구성 섹션에서 'IService1' 계약을 참조하는 기본 끝점 요소가 없습니다.
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService1" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:63397/Service1.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IService1" contract="IService1"
name="BasicHttpBinding_IService1" />
</client>
</system.serviceModel>
</configuration>
WCF 개념 파악할 때 끝점(EndPoint)와 계약(Contract)등의 내용이 있었는데 Svcutil로 생성했던 output.config 파일이 위와 같이 관련된 정로를 가지고 있더군요. 그래서 위 스샷과 같이 프로젝트에 추가하면 적용이 되는줄 알고 Add -> Existing Item으로 output.config를 추가하고
Service1Client serviceClient = new Service1Client("output.config");
추가만 하면 안될것 같아 자동 생성된 서비스 클라이언트가 스트링을 인자로 받길래 위와 같이 해봤는데 비슷하지만 다른 에러만 나더군요.
Additional information: 이름이 'output.config'이고 계약이 'IService1'인 끝점 요소가 ServiceModel 클라이언트 구성 섹션에 없습니다. 응용 프로그램에 대한 구성 파일이 없거나, 이 이름과 일치하는 끝점 요소가 클라이언트 요소에 없기 때문입니다.
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
<!-- WCF -->
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_IService1" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:63397/Service1.svc" binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IService1" contract="IService1"
name="BasicHttpBinding_IService1" />
</client>
</system.serviceModel>
</configuration>
해결하려면 원래대로 output.config 파일은 프로젝트에서 빼고 그 내용을 App.config에 위와 같이 추가해주면 됩니다. blod 처리한 부분이 output.config 에서 가져온 부분입니다.
댓글
댓글 쓰기