Não é possível criar o canal WCF na biblioteca de classes portáteis
-
21-12-2019 - |
Pergunta
Eu estou esperando que eu tenha apenas perdido algo óbvio e alguém vai apontar para mim aqui.
Eu criei um PCL que contém meu serviço WCF, bem como os DTOS que ele usa.A ideia é referenciar isso no servidor e implementar o serviço, e também referencie-o no cliente e use algo como ChannelFactory<T>
para criar os canais e fazer as chamadas WCF.
Eu posso fazer isso sem um problema em uma biblioteca de classes padrão, mas o PCL tem um subconjunto limitado das classes disponíveis, e a maioria das classes que eu tentei usar são abstratas.
Alguém pode por favor me ajudar? Obrigado
Solução
ChannelFactory<T>
não está disponível no PCL quando você está segmentando o Windows 8 (Winrt) ou Silverlight para esse assunto.Tudo é assumido para ser feito com ClientBase<T>
.Isso faz com que isso cria muita cerimônia em torno das coisas, mas se você usar o recurso "Referência de serviço" no Visual Studio (Svcutil.exe na linha de comando), gerará o encanamento necessário para você.
Observe que, se você fosse capaz de soltar o Silverlight e também ir com o Windows 8.1 Compatibilidade, você receberá a ChannelFactory<T>
.