2009-11-02 63 views
1

我們承載WCF服務,basicHttpBinding的在服務器端,在Windows XP SP3託管WCF配置

<bindings>   
     <basicHttpBinding>   
     <binding name="BasicHttpEndpointBinding" > 
      <security mode="TransportCredentialOnly"> 
      <transport clientCredentialType="basic" /> 
      </security>   
     </binding>   
     </basicHttpBinding>  
    </bindings> 

WCF服務,IIS 5.1與啓用匿名訪問。
如果我想訪問.net 2.0桌面應用程序上的WCF服務。
我需要使用示例代碼做什麼配置?

感謝
NRK

+0

您打算在客戶端上使用哪個Web服務API? – 2009-11-02 12:46:36

+0

感謝您的回覆,客戶端將是在.net 2.0中開發的windows應用程序訪問,它以前用於訪問asp.net 2.0 webserivce。現在我需要更新以訪問WCF服務。 – nRk 2009-11-02 12:50:17

+0

你可以在你的客戶端上安裝.NET 3.0嗎? – 2009-11-02 12:54:47

回答

0

如果您無法安裝.NET 3.0(它是第一個包含WCF位的.NET),則只需將該服務的引用作爲ASMX Web服務添加即可。

在Visual Studio中,轉到您的項目,右鍵單擊並選擇「添加Web引用」並輸入URL。

沒有其他方法可以做到(只有.NET 2.0)。

如果可以升級到.NET 3.0,那麼你的客戶端的app.config將其內部都有此相同部分:

<bindings>   
     <basicHttpBinding>   
     <binding name="BasicHttpEndpointBinding" > 
      <security mode="TransportCredentialOnly"> 
      <transport clientCredentialType="basic" /> 
      </security>   
     </binding>   
     </basicHttpBinding>  
    </bindings> 

,但你沒有告訴我們的更有趣的部分您服務器配置文件 - 定義您的服務必須提供的端點的<services>部分。

在客戶端,你必須在mimimum:

<client> 
    <endpoint name="whatever" 
      address="http://yourServer:8080/YourService/" 
      binding="basicHttpBinding" 
      bindingConfiguration="BasicHttpEndpointBinding" 
      contract="IYourServiceContract" /> 
</client> 

應該這樣做。

+0

謝謝Marc_s,我會試試.. – nRk 2009-11-03 04:16:40

0

假設您可以安裝.NET 3.0(按連接到你的問題的討論),你可以在客戶端使用WCF,以及,你需要使用相同的綁定配置爲您發佈的配置。