我有一个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接口返回类接口有一些特殊的技巧,否则我不会遇到这个问题。有什么诀窍?
答案 0 :(得分:2)
您永远无法返回界面。它将如何序列化?
接口是关于行为的。行为不是序列化的,只是数据。