2011-05-26 143 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服務端點。