我已经在Windows服务中托管了我的Wcf服务,我可以在我的测试控制台应用程序中使用它而没有任何问题,但是当我尝试在我的silverlight应用程序中使用服务引用来使用相同的服务时,它给了我错误。
ServiceReferences.ClientConfig有此条目:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.serviceModel>
<bindings>
<netTcpBinding>
...
</netTcpBinding>
</bindings>
<client>
<endpoint address="net.tcp://localhost:8732/myservices/myservice/"
binding="netTcpBinding" bindingConfiguration="NetTcpBinding_myservice"
contract="ServiceReference1.myservice" name="NetTcpBinding_myservice">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
</system.serviceModel>
</configuration>
我收到此错误: 服务引用配置中无法识别的元素'netTcpBinding'。请注意,Silverlight中仅提供Windows Communication Foundation配置功能的一部分。 非常感谢您的帮助..
Alpee
答案 0 :(得分:0)
您是否在IIS上安装了WCF Non-HTTP Activation
?
发现这篇关于在WCF和Silverlight中使用NetTcpBinding的相当不错的文章:http://www.codeproject.com/Articles/311250/NetTcpBinding-Configurations-for-WCF-and-Silverlig
我注意到的另一件事是显然你不能用Silverlight和netTcp指定安全选项,所以必须指定一个不安全的绑定(来自同一个例子):
<bindings>
<netTcpBinding>
<binding name="InsecureTcp" receiveTimeout="Infinite">
<security mode="None"/>
</binding>
</netTcpBinding>
</bindings>