이 문제를 해결하는 방법에 대한 아이디어가 있습니까?
UserService.UserServiceClient userServiceClient = new UserServiceClient();
userServiceClient.GetUsersCompleted += new EventHandler<GetUsersCompletedEventArgs>(userServiceClient_GetUsersCompleted);
userServiceClient.GetUsersAsync(searchString);
.
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_UserService"
maxBufferSize="2147483647"
maxReceivedMessageSize="2147483647">
<security mode="None" />
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://localhost:52185/UserService.svc"
binding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_UserService"
contract="UserService.UserService"
name="BasicHttpBinding_UserService" />
</client>
<behaviors>
<serviceBehaviors>
<behavior name="Shell.Silverlight.Web.Service3Behavior">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true"/>
<services>
<service behaviorConfiguration="Shell.Silverlight.Web.Service3Behavior"
name="Shell.Silverlight.Web.Service3">
<endpoint address=""
binding="basicHttpBinding"
contract="Shell.Silverlight.Web.Service3" />
<endpoint address="mex"
binding="mexHttpBinding"
contract="IMetadataExchange" />
</service>
</services>
</system.serviceModel>
ServiceModel 클라이언트 구성 섹션에서 ‘UserService.UserService’계약을 참조하는 기본 끝점 요소를 찾을 수 없습니다. 이는 응용 프로그램에 대한 구성 파일이 없거나이 계약과 일치하는 끝점 요소가 클라이언트 요소에서 찾을 수 없기 때문일 수 있습니다.
해결되었습니다!
나는 이것이 Silverlight 응용 프로그램이라고 언급하지 않았습니다. 자체 “ServiceReferences.ClientConfig”파일이있는 DLL에 wcf 참조가 있습니다. DLL의 ServiceReferences.ClientConfig의 내용을 주요 silverlight 프로젝트로 옮겼습니다.
답변
나는 같은 문제로 뛰어 들었다. 내 응용 프로그램도 Silverlight 응용 프로그램이었고 서비스가 사용중인 사용자 지정 UserControl이있는 클래스 라이브러리에서 호출되었습니다.
해결책은 간단합니다. 클래스 라이브러리의 구성 파일 (예 : ServiceReferences.ClientConfig)에서 엔드 포인트 정의를 silverlight 애플리케이션의 구성 파일로 복사하십시오. 이 작업을 수행하지 않아도 작동 할 것으로 예상 할 수 있지만 레드몬드의 누군가가 그날 휴가를 보냈습니다.
답변
이러한 값을 클래스 라이브러리에서 프로그래밍 방식으로 설정할 수도 있습니다. 이렇게하면 라이브러리에서 구성 파일의 불필요한 이동을 방지 할 수 있습니다. 간단한 BasciHttpBinding의 예제 코드는 다음과 같습니다.
BasicHttpBinding basicHttpbinding = new BasicHttpBinding(BasicHttpSecurityMode.None);
basicHttpbinding.Name = "BasicHttpBinding_YourName";
basicHttpbinding.Security.Transport.ClientCredentialType = HttpClientCredentialType.None;
basicHttpbinding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.UserName;
EndpointAddress endpointAddress = new EndpointAddress("http://<Your machine>/Service1/Service1.svc");
Service1Client proxyClient = new Service1Client(basicHttpbinding,endpointAddress);
답변
WPF 또는 Silverlight 대신 WPF를 사용하는 동안 누군가가 동일한 문제를 겪는 경우를 대비하여 :
웹 서비스에 연결할 때이 오류가 발생했습니다. 내 코드가 “기본”WPF 응용 프로그램 솔루션에 있었을 때 문제없이 완벽하게 작동했습니다. 그러나 코드를 더 합리적인 DAL 계층 솔루션으로 옮겼을 때 예외가 발생했습니다.
ServiceModel 클라이언트 구성 섹션에서 ‘MyWebService.MyServiceSoap’계약을 참조하는 기본 끝점 요소를 찾을 수 없습니다. 이는 응용 프로그램에 대한 구성 파일이 없거나이 계약과 일치하는 끝점 요소가 클라이언트 요소에서 찾을 수 없기 때문일 수 있습니다.
이 스레드의 “Sprite”에서 설명한 것처럼 태그를 수동으로 복사해야합니다.
WPF 앱의 경우 이는 내 DAL 솔루션의 app.config 에서 기본 WPF 애플리케이션 솔루션 의 app.config 로 태그를 복사하는 것을 의미 합니다.
답변
서비스를 처음 추가했을 때 Visual Studio가 웹 구성을 업데이트하지 않은 이유가 무엇이든 동일한 문제가 발생했습니다. 서비스 참조를 업데이트해도이 문제가 해결된다는 것을 알았습니다.
단계 :
- 서비스 참조 폴더로 이동
- 확장
- 마우스 오른쪽 버튼을 클릭하고 업데이트 서비스 참조를 선택합니다.
- 웹 구성 업데이트 관찰
답변
WCF 서비스의 web.config를 “endpoint address =” “binding =”basicHttpBinding “…”(이전의 binding = “wsHttpBinding”)으로 변경합니다. 앱을 빌드 한 후 “ServiceReferences.ClientConfig” “”configuration>에 값이 있습니다. . 그러면 잘 작동합니다.
답변
svcutil.exe에서 생성 한 output.config의 이름을 app.config로 바꿉니다. 그것은 나를 위해 일했습니다.
답변
“UserService”클래스가 구현하는 인터페이스가 있습니까?
엔드 포인트는 계약 속성에 대한 인터페이스를 지정해야합니다.
contract="UserService.IUserService"