2010-07-09 131 views
3

我正在尋找一個使用.net 4.0的asp.net web服務,但每次我選擇4.0時,web服務選擇都會消失。我應該使用WCF還是ASMX webservice?

有人建議我可能他們(MS)希望你改用WCF。我對此不甚瞭解,但他表示,他們就像web服務,但更好。所以任何人都有一個比較指南?

+0

[使用WCF而不是ASMX Web服務的好處是什麼?](http://stackoverflow.com/questions/1941481/what-are-the-benfits-of-using-wcf-over-asmx -web-services) – 2010-07-09 18:06:38

回答

1

第一關...... 忘記了微軟WANTS你使用,你應該使用技術最能解決您的問題。

WCF優於ASMX的一個優點是改進後的更健壯的安全模型。但是,如果您可以確保服務的安全或它是公開的,那麼這不是一個考慮因素。 WCF也可以託管在遠程服務器上運行的應用程序中,而ASMX則必須通過IIS託管。

+1

如果您的問題涉及生產質量服務,那麼您可能希望Microsoft修復錯誤 - 這意味着您要使用WCF。 – 2010-07-09 18:12:34

+0

你是什麼意思的生產質量? – Achilles 2010-07-09 18:16:44

+2

生產質量意味着如果應用程序停機,某人會面臨很大的麻煩 - 甚至可能被解僱。也可能意味着只要服務停止,公司就會失去重金。這與服務減少僅僅是不便的情況相反。 – 2010-07-09 19:31:38

1

Windows Communication Foundation(WCF)是一個用於構建服務的框架。

Web服務是一種可以使用WCF構建的服務。

因此,您應該使用WCF構建您的Web服務。

在.NET 4.0中,微軟已經採用了經典的ASMX風格的Web服務,並將每個人都推向WCF。您可以構建Web服務,其功能與WCF中ASMX Web服務的功能相同,只是定義正確的綁定。

+1

你是什麼意思,他們已經把ASMX帶走了?它仍然受到支持,但被認爲是「傳統技術」。 – 2010-07-09 18:11:08

+1

@John - 通過「帶走」,我的意思是項目選項在面向.NET 4.0時不可用(除非我錯過了某些東西,在這種情況下,我很想知道如何獲得選項)。 – 2010-07-09 18:25:59

+1

我很高興他們走了,因爲開發者可能無意中創建了這樣的服務。儘管如此,嘗試爲3.5創建一個,然後將目標版本更改爲4.0。 – 2010-07-09 19:30:08

相關問題