2011-09-12 22 views
1

我在.NET 4.0上構建了一組WCF Web服務,現在需要在ASP.NET 2.0網站中使用它們。我已經能夠在VS 2005中獲得Web引用,但是我遇到了一個問題:WCF:.NET 2.0不完整的Web引用

服務引用不完整。

該服務定義了兩種類型的故障。這些錯誤正在被VS2010和.NET 4正確讀取,但不會被VS 2005和.NET 2讀取,從而導致不完整的Web引用。 這可能是什麼原因造成的?有什麼辦法可以解決這個問題嗎?或者我應該不使用引用,而只是自己發佈XML?

+0

.NET 2.0和Visual Studio 2005沒有服務引用。您是否創建了Web引用? –

+0

哈哈,是的,這就是我的意思!抱歉。 – AndyBursh

回答

1

Web引用(以及通常的ASMX技術)不支持故障。這不僅僅是引用WCF服務的問題,而是一般的服務。

您可以做的最好的方法是捕獲SoapException異常並查看Detail屬性以查看發送了哪種故障。但是你不能捕獲每個故障的個別例外。同樣,如果你正在編寫一個ASMX服務,你會發現自動生成的WSDL不能描述你的服務返回的錯誤;如果你正在編寫一個ASMX服務,你會發現自動生成的WSDL不能描述你的服務返回的錯誤。實際上,沒有辦法表明你的服務返回錯誤。

有一個解決這個問題 - WCF。不幸的是,如果你被困在.NET 2.0中,那麼你運氣不好。

但是,您應該知道,.NET 3.5只不過是.NET 2.0 SP2以及一些新的程序集。升級是安全的。

+0

非常感謝。給我們留下了很多混亂。可悲的是,我無法真正從.NET 2.0升級到3.5,因爲項目的承諾服務不在我的控制之下 – AndyBursh

+0

我敢打賭,你可以提出建議。你甚至可以給他們發送鏈接到這個答案(只需點擊「鏈接」鏈接)。 –