2014-02-25 2 views
0

나는 방금 분명히 뭔가를 놓쳤 으리라 생각합니다.휴대용 클래스 라이브러리에서 WCF 채널을 만들 수 없습니다.

내 WCF 서비스와 함께 사용하는 DTO가 포함 된 PCL을 만들었습니다. 아이디어는 서버에서이를 참조하고 서비스를 구현하고 클라이언트에서이를 참조하고 채널을 만들고 WCF 호출을 만들기 위해 ChannelFactory<T>과 같은 것을 사용하는 것입니다.

표준 클래스 라이브러리에서 문제없이이 작업을 수행 할 수 있지만 PCL에는 사용할 수있는 클래스의 일부가 제한되어 있으며 사용하려고 시도한 클래스의 대부분은 추상입니다.

누군가 나를 도울 수 있습니까? 감사합니다.

답변

4

ChannelFactory<T>은 Windows 8 (WinRT) 또는 Silverlight를 대상으로 할 때 PCL에서 사용할 수 없습니다. 모든 것은 ClientBase<T>으로 끝난 것으로 가정합니다. 이것은 많은 것들을 둘러싼 의식을 만들어 냄으로써 빨지 만 Visual Studio의 "서비스 참조"기능 (명령 줄의 svcutil.exe)을 사용하면 필요한 배관을 생성합니다.

Silverlight를 삭제할 수 있고 Windows 8.1과 호환되는 경우 ChannelFactory<T>이 반환됩니다.

+0

저는 .NET 4.5, Silverlight 4 이상, Windows Phone 7 이상 및 .NET Store 앱을 대상으로합니다. 'System.ServiceModel' 네임 스페이스를 사용할 수 있지만 클래스의 하위 집합 만 사용할 수 있습니다. 4.5 프레임 워크에서 사용할 수있는 어셈블리와는 다른 'System.ServiceModel.dll'입니다. –

+0

아, 죄송합니다. ChannelFactory * *을 찾고 있습니다. WinRT를 타겟팅 할 때 PCL에 없으므로 내 답변을 업데이트하십시오. –

+0

서비스 참조 사용을 피하려고합니다. 내 서비스에 대한 응용 프로그램을 작성하려는 다른 개발자에게이 어셈블리를 제공 할 계획입니다. 그 참조가 어떻게 작동하는지 알아내는 것이 좋습니다. 나는 그랬고, 가능하지 않다는 말을하고 싶지는 않지만, 나는 단지 바퀴를 다시 만들고있는 것 같았다. –

관련 문제