У меня есть сервис WCF. Я могу вернуть конкретный класс без проблем, но возврат ссылки на интерфейс вызывает следующую проблему.
Произошло исключение CommunicationException
«Соединение с сокетом было прервано. Это может быть вызвано ошибкой при обработке вашего сообщения или превышением тайм-аута приема удаленным хостом, или проблемой базового сетевого ресурса. Тайм-аут локального сокета был '00: 00: 59.2030000 '." *
Это происходит, когда я пытаюсь получить экземпляр класса из службы WCF:
//create the connection
ChannelFactory<IService> _ChannelFactory = new ChannelFactory<IService>(_EndpointName);
IService _ServiceProxy = _ChannelFactory.CreateChannel();
//communication exception thrown here
ITestInterface okcomputer = _ServiceProxy.GetTest();
IService и ITestInterface имеют все обычные атрибуты OperationContract и тому подобное. Служба имеет атрибут: [ServiceBehavior (InstanceContextMode = InstanceContextMode.Single)]
кроме этого, классы и интерфейсы не являются чем-то особенным.
Я чувствую, что есть какой-то особый трюк для возврата интерфейса класса из интерфейса WCF, иначе у меня не было бы этой проблемы. В чем трюк?