我有一個ASP.NET web服務(.asmx
)與接收int
陣列(int[]
)和可空int
陣列(int?[]
)作爲參數的方法。我還有一個測試Web應用程序,通過服務引用來使用此Web服務。用途/方法產生的簽名爲int [] insted的ArrayOfInt對.NET網絡服務
問題是,每次我在Web服務代碼中更改某些內容時,都會重新編譯它並更新測試應用程序中的服務引用,爲測試應用程序上的Web服務方法生成不同類型的參數。例如:
在第一構建和服務更新,在測試程序由Visual Studio產生的方法的簽名是:
void MyMethod(int[] firstParam, int?[] secondParam)
。
然後我做出一些改變,做一遍,並得到如下:
void MyMethod(ArrayOfInt fistParam, ArrayOfInt1 secondParam)
(與ArrayOfInt
是int[]
和ArrayOfInt1
是的int?[]
相當於相當於)。
一旦多了,我得到:
void MyMethod(ArrayOfInt1 firstParam, ArrayOfInt secondParam)
,
與ArrayOfInt
和ArrayOfInt1
swaped(ArrayOfInt1
現在正在int[]
和ArrayOfInt
是的int?[]
相當於相當於)。
我真正想要的是使用簡單int[]
和int?[]
類型(不管多少次,我重新編譯和更新服務參考!)。我怎樣才能做到這一點?
沒有人會找到原因嗎?這個愚蠢的行爲是否會讓人感到厭煩? – Raphael
您使用的是ASP.NET(asmx)web服務還是WCF? – CodingWithSpike
聽起來像你應該打開WCF – Seb