0


WCF serviceMobile Service에서 Windows Azure에 액세스하고 싶습니다. 이를 위해 WCF service을 호출하기 위해 자격 증명으로 구성된 Service Bus Relay 연결을 사용하고 있습니다.Azure의 모바일 서비스에서 WCF 서비스에 액세스 할 수 없습니다.

내 로컬 컴퓨터에 Mobile Service을 게시하면 아무런 문제없이 WCF service으로 전화 할 수 있습니다.

그러나이 Mobile Service을 Azure에 게시하면 액세스하려고 할 때 다음과 같은 오류가 발생합니다. IService1은 WCF 서비스 계약입니다. 이 계약을 통해 모바일 서비스의 Web.Config 파일에 끝점을 정의했습니다.

해결할 수 있습니까?

Exception = System.InvalidOperationException : ServiceModel 클라이언트 구성 섹션에서 'ServiceReference1.IService1'계약을 참조하는 기본 끝점 요소를 찾을 수 없습니다. 이는 응용 프로그램에 대한 구성 파일이 없거나이 계약에 일치하는 엔드 포인트 요소가 클라이언트 요소에 없기 때. 일 수 있습니다.

편집 : 더이 문제를 조사하면, 나는 우리가 그것을 호스팅 할 때 서비스 참조를 추가하여 생성되는 프록시 클래스는,의 Web.config에 정의 된 엔드 포인트 정의를 따기되지 않는다는 것을 발견 구름. 그러나 서비스가 내 컴퓨터의 하늘빛 에뮬레이터에서 실행되면 Web.config에서 끝점 정의를 선택합니다.

그래서 문제를 해결하려면 프로그래밍 방식으로 종점을 정의하고 ChannelFactory 클래스를 사용하여 WCF 서비스를 호출해야했습니다.

모바일 서비스가 클라우드에서 Web.config를 읽을 수없는 이유에 대한 의견이 있으십니까?

+0

http://stackoverflow.com/questions/352654/could-not-find-default-endpoint-element – Guillaume

+0

안녕하세요 기ume, 질문을 업데이트했습니다. – Kiran

답변

2

.NET 백엔드 프로젝트의 Web.config 파일의 appSettings 섹션에서 응용 프로그램 설정을 키/값 쌍으로 설정할 수 있습니다. 이 값은 로컬 컴퓨터에서 .NET 백 엔드 프로젝트를 테스트 할 때 사용됩니다. Azure에서 실행하면이 값은 무시되고 대신 포털 설정이 사용됩니다.

http://msdn.microsoft.com/en-us/library/azure/dn529070.aspx

그래서 나는 모바일 서비스에서 파일의 .config 특별한 뭔가가있다 생각하지만 난 더 알고하지 않습니다. 프로그래밍 방식으로 WCF를 초기화하는 것이 좋은 해결책입니다.

관련 문제