2012-01-25 103 views
0

我是ASP.NET中的Web服務的新手。我最近試圖讓我的頭在附近。這是我的問題。ASP.NET中的Web服務問題

  1. Web服務項目(的.asmx,您可以添加在Visual Studio項目),並只生成一個XML 服務(生成XML輸出)?那麼JSON呢?

  2. 當我添加一個Web引用到我的項目中,並且我被提示指定一個URL時,必須是什麼樣的服務?例如,當我輸入http://search.twitter.com/search.json?q=twitter - 它不起作用(沒有任何提取)。

  3. 創建.asmx服務後,這是如何通過非.NET技術(如PHP或JavaScript)消耗的?

  4. 如果我要在另一種技術(PHP/ColdFusion)中創建Web服務,那麼需求是什麼,以便我可以輕鬆地將Web引用添加到.NET項目以準備好使用?

  5. 你什麼時候創建一個Web服務(.asmx)並創建一個通用處理程序(.ashx)?什麼是最佳做法?

+2

這些問題中的每一個對於本網站的範圍可能都太大,更不用說在一個問題中。爲了讓你開始,我強烈建議使用「Web服務SOAP RCP與REST」。asp.net web服務是SOAP/RPC。在開始理解其他問題之前,您需要了解兩者之間的差異。 – David

+0

謝謝,但我覺得很多這些都是Visual Studio中特定於.NET的工具。 – SaltProgrammer

+0

你根本不應該使用ASMX。使用WCF。 –

回答

2

這些問題的答案在這裏提供:http://forums.asp.net/p/1762729/4808974.aspx/1?p=True&t=634636052163539362

1.當您添加Web引用(的.asmx)到您的項目,那麼就會產生三種不同類型的文件廣泛,他們reference.cs,.disco和。 WSDL。並在項目配置文件中添加Web服務名稱和值(如下所示),Reference.cs是實際生成的代理類,主要用於調用客戶端的Web服務。

例如:

<applicationSettings> 
    <WebApplication3.Properties.Settings> 
     <setting name="WebApplication3_localhost_WebService2" serializeAs="String"> 
      <value>http://localhost:8776/WebService2.asmx</value> 
     </setting> 
    </WebApplication3.Properties.Settings> 
</applicationSettings> 

至於JSON,它是一個輕量級的數據交換格式,並且完全獨立於語言。它是一個名稱/值對的集合和一個有序的值列表,我們通常使用Jquery調用JSON Web服務和REST服務,並將其contentType設置爲「application/json; charset = utf-8」,dataType設置爲「json 」。

2.通常使用add web referecne可以將ASMX Web服務(.asmx文件)添加到消費者項目中,我們最好添加以.asmx結尾的Web服務的URL,像這樣。 http://localhost:8776/WebService2.asmx

3.您可以通過多種方式從非網絡技術調用.net Web服務,您可以將請求SOAP消息發送到Web服務,有關詳細信息,請參閱本文。還有一些開發工具提供了選項,您可以添加wsdl引用作爲VS工具,只有您指定了WSDL URL,爲此請檢查本文。

4.如果您可以在IE瀏覽器中瀏覽網頁服務,那麼您可以添加'?wsdl',然後在VS工具中,您可以將Web引用添加到該wsdl url,然後您可以使用該Web服務,請查看本文。

5.As爲通用處理程序(ashx的),它主要用於在以下情況下 (1)應用的安全機制, (2)URL重寫, (3)在是發送給請求過濾器的東西IIS。 ,這取決於您的要求,您要選擇Web服務或.ashx。

1

1)語法得到一個JSON ASMX服務工作,看看this post

5)新的路要走是WCF

+0

WCF不再是「新」了。自2006年以來,這一直是「當前」的方式。 –