在Silverlight应用程序中访问Windows服务中托管的WCF

时间:2012-06-21 10:30:02

标签: silverlight

我已经在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

1 个答案:

答案 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>