【问题标题】:Question on how to create WCF silverlight 3 endpoints关于如何创建 WCF silverlight 3 端点的问题
【发布时间】:2010-01-21 14:08:38
【问题描述】:

我想将 WCF 服务与 silverlight 应用程序和 asp.net mvc 应用程序一起使用,但我在配置服务以支持这两个请求时遇到了困难。

这些是我的 WCF 配置文件的端点。

  <service behaviorConfiguration="behaviorAction" name="Uniarchitecture.ProdutoService.ServiceImplementations.ProdutoService">
    <endpoint binding="wsHttpBinding" bindingConfiguration="bindingAction" contract="Uniarchitecture.ProdutoService.ServiceContracts.IProdutoService">
      <identity>
        <dns value="localhost"/>
      </identity>
    </endpoint>
    <endpoint address="" binding="basicHttpBinding" contract="Uniarchitecture.ProdutoService.ServiceContracts.IProdutoService"/>

    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
  </service> 

我收到以下错误: 绑定实例已关联到侦听 URI 'net.tcp://localhost:10377/ProdutoService'。如果两个端点想要共享同一个 ListenUri,它们也必须共享同一个绑定对象实例。两个冲突的端点要么在 AddServiceEndpoint() 调用中指定,要么在配置文件中指定,要么在 AddServiceEndpoint() 和配置的组合中指定。

【问题讨论】:

    标签: c# asp.net-mvc wcf silverlight


    【解决方案1】:

    问题是尝试使用两个端点与两个绑定...您可以在此处在同一个服务上使用多个端点,但它们需要使用相同的绑定。

    而且由于 Silverlight只支持 BasicHttpBinding,所以你有点受不了了。

    <service behaviorConfiguration="behaviorAction" name="Uniarchitecture.ProdutoService.ServiceImplementations.ProdutoService">
        <endpoint binding="**basic**HttpBinding" bindingConfiguration="bindingAction" contract="Uniarchitecture.ProdutoService.ServiceContracts.IProdutoService"/>
        <endpoint address="" binding="basicHttpBinding" contract="Uniarchitecture.ProdutoService.ServiceContracts.IProdutoService"/>
    </service>
    

    【讨论】:

    • 请注意,除了 BasicHttpBinding 之外,Silverlight 3 还支持二进制绑定。事实上,它是您创建新的启用 Silverlight 的 WCF 服务时的新默认值。
    • 我只需要同时使用 1 个端点吗?还是应该对两者都使用二进制绑定?
    • 我只为 basichttpbinding 创建了一个端点,现在我收到此错误:合同需要 Session,但绑定“BasicHttpBinding”不支持它或未正确配置以支持它。
    【解决方案2】:

    在您的配置中,两个端点的地址是相同的。使用 HTTP 绑定,您可以有多个服务端点,但您需要为它们指定不同的地址。更改 basicHttpBinding 端点的 地址 以解决此问题。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-04
      • 2011-05-04
      • 1970-01-01
      • 1970-01-01
      • 2022-10-25
      • 1970-01-01
      • 1970-01-01
      • 2013-11-19
      相关资源
      最近更新 更多