2012-11-28 30 views
-2

我已經創建了WCF服務,我想從WCF服務返回數據庫記錄到客戶端。如何從WCF返回數據庫記錄

我的客戶端應用程序檢索該記錄顯示在網頁中。客戶端開發他們的應用程序任何平臺,如PHP或JAVA或.NET。他們使用我的WCF服務來獲取詳細信息。

如何使用XML或任何其他方法將數據從WCF服務返回到客戶端應用程序?

請給出建議/代碼片段,以解決我的疑問。

回答

2

如果您將WCF部署爲basicHttpBinding將會將您的WCF服務公開爲傳統ASMX Web服務,以便舊客戶端可以使用新服務並使用SOAP協議(基於XML)公開您的數據。您也可以使用wsHttpBinding(更高級)做類似的事情。我建議基本的,因爲你要從PHP,Java & NET中使用它。選擇更簡單可以爲你工作。

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.serviceModel> 
     <bindings> 
      <!—- Default binding for basicHttpBinding --> 
      <basicHttpBinding> 
       <binding name="myBindingConfiguration1" closeTimeout="00:01:00" /> 
       <binding name="myBindingConfiguration2" closeTimeout="00:02:00" /> 
       <binding closeTimeout="00:03:00" /> 
      </basicHttpBinding> 
     </bindings> 
     <services> 
      <!—- change to your namespace & contract details --> 
      <service name="MyNamespace.myServiceType"> 
       <endpoint 
       address="myAddress" binding="basicHttpBinding" 
       bindingConfiguration="myBindingConfiguration1" 
       contract="MyContract" /> 
       <endpoint 
       address="myAddress2" binding="basicHttpBinding" 
       bindingConfiguration="myBindingConfiguration2" 
       contract="MyContract" /> 
      </service> 
     </services> 
    </system.serviceModel> 
</configuration> 

你可以採取更多信息here

您還可以配置WCF來公開數據作爲REST協議(WebHttpBinding)。該選項限制WCF的功率。如果你打算從javascript中使用你的WCF,你可以嘗試一下。

0

您可以使用的最佳方法是使用WebHttpBinding爲RESTful WCF服務公開服務,該服務專爲可互操作的xml,json對話而設計。然後,任何客戶端都可以向端點發出HTTP請求並獲得普通的REST結果。這種技術的一個缺點是,你必須熟悉其在這裏描述http://msdn.microsoft.com/en-us/magazine/dd315413.aspx WCF REST風格的編程模型,你可以找到關於這一主題在這裏http://social.msdn.microsoft.com/Forums/en-US/wcf/thread/90716451-fd29-4917-a5ca-f7f3bcaa96c9

第二種方法的全面論述,那你可能會喜歡更多的是因爲它的簡單性是使用BasicHttpBinding服務通過PHP內置SoapClient訪問。有一個很好的例子說明.Net數據類型傳輸到PHP客戶端。因此,您可以對數據使用相同的方法:Passing array of objects from WCF to PHP - extracting the info只需小心並使用[DataContract]/[DataMember]屬性正確設計您的數據合同類。

而下面的是PHP WCF/BasicHttpIntegration首發:http://cgeers.com/2009/08/20/using-wcf-services-with-php-5/

REST VS SOAP 這不是真的,REST限制WCF力量,它實際上做了一些先進的WCF功能,因爲大多的WebHttpBinding的侷限性。但是,反過來,REST比任何RPC協議更具互操作性,比如SOAP。另外,你會得到輕量級的JSON支持。 因此,您的決定取決於您的需求和系統的整體需求/體系結構。同意,如果您只需要向少數客戶端提供類似於對象的數據集(特別是如果它是本地系統,而不是通過互聯網發佈的話),那麼爲了簡單起見,BasicHttpBinding/SOAP是最適合您的。

還有一件事要說,很多Web服務都是RESTful或被轉換爲REST。微軟也是如此。這是將數據直接傳遞到客戶端瀏覽器的最佳方式(JS接手)。

相關問題