2010-02-21 67 views
3

我有一個web服務 - 所謂MyCompany.WebService1ASMX Web引用不更新後的服務回報類型更新

我這用我的ASP.net web應用的web參考參考。

Theres在此Web服務中稱爲「GetDeal」的方法,返回一個「交易」對象。 該交易對象目前看起來(例如)是這樣的:

public class Deal 
{ 
    Public string Name {get;set;} 
    Public string Description {get;set;} 
} 

這個類是在不同的裝配:MyCompany.Model

Web服務的引用該組件。

在我的網絡應用程序中,我可以調用GetDeal方法。 這將返回Service1.Deal(service1只是Web引用的名稱)

我可以訪問上面的兩個屬性。

我現在已經改變了Deal類,並添加了更多的屬性。 但是,我無法在我的Web應用程序中看到這些新屬性。

我已經更新了Web應用程序中的Web服務。 我重建了幾次Web服務,試圖刪除MyCompany.Model引用,並重新添加它等...

我無法弄清楚發生了什麼變化......這是工作 - 我改變了模型之前,它正確地更新了參考...

任何我錯過了?

回答

5

只要以下幾點得到滿足,這應該工作:

  • 新的屬性標記爲Public,必須讀/寫(必須有一個getter和setter方法)
  • 你有編譯主機Web應用程序(暴露Web服務的Web應用程序)。
  • (您可以嘗試在Web瀏覽器中調用Web服務以檢查新屬性是否可見)。
  • 你已經更新Web引用客戶端應用程序(和重建應用程序)
+2

還有一點要補充:新屬性必須有一個'set'方法。這是過去一些頭疼的原因。 – Aaronaught 2010-02-21 20:41:05

+0

@aaronaught - 謝謝!就是這樣! – Alex 2010-02-21 22:33:22

+0

確切地說,謝謝。 – 2015-08-30 08:21:00

2

除了馬丁什麼建議,你必須真正運行更新的服務。

我建議您查看WSDL以查看更改是否生效。將「?wsdl」添加到瀏覽器中的Web服務URL中,並查看您的新屬性是否顯示在頂部的XML模式中。