2011-05-26 118 views
1

我在我的Silverlight解决方案中定义了一个WCF服务项目。该解决方案由三个项目组成。Silverlight和安全的WCF服务问题

  • MySilverLightApplication [中 Silverlight应用程序]
  • MySilverLightApplication.Web [网络 项目承载它]
  • MyWCFService

我要建立的Silverlight应用程序之间的安全连接,并WCF服务,所以我打开wsHttpBinding在服务端通过编辑服务项目的web.config文件,如下所示:

<services> 
    <service name="ExternalWcfService.extService" 
     behaviorConfiguration="ExternalWCF"> 
     <endpoint address="" binding="wsHttpBinding" 
      contract="ExternalWcfService.IextService"/> 
     <endpoint address="mex" binding="mexHttpBinding" 
      contract="IMetadataExchange"/> 
    </service> 
</services> 

当我在SL客户端中添加对此服务的引用时,我在Silverlight应用程序的ServiceReferences.ClientConfig文件中得到了没有条目。这是为什么?然后当我运行该应用程序我得到一个错误,像这样:

找不到默认端点 元素,在 的ServiceModel客户端配置 部分引用合同 “ExternalWCFService.IextService”。这可能是因为没有 配置文件中发现您的 的应用程序,或者是因为没有终点 元件匹配这个合同可以 在客户端元素中找到。

我在Silverlight根文件夹中有silverlight.config文件。为什么终端没有在SL项目中创建?

回答

0

我想我想通了。显然Silverlight不能使用配置了wsHttpBinding的服务。它只需要BasicHttpBinding!我将绑定更改为基本,并在更新我的引用时将我的端点添加到ServiceReferences.ClientConfig文件中。

奇怪!!!为什么Silverlight不支持编码?

0

我认为你必须将生成的文件手动复制到Silverlight项目。它应该在你的MyWCFService项目中。我记得之前必须这样做,但它不是一回事,而是一个标准的Web服务端点。