這很奇怪,我只是想知道是否有人可以向我解釋這一點。我有一個由傳統的舊asmx風格的Web服務運行的Web服務。我們有這是在沒有被顯示給消費者這樣的內部方法使用的公共財產:由IIS提供的WSDL中缺少的公共屬性6
public class User {
public string EmployeeID;
protected override void DoSomething(){
var foo = EmployeeId;
}
}
現在這裏是怪異的一部分。我們決定擺脫這個領域。但是由於Apache Axis客戶端綁定到特定的wsdl,我們不想從wsdl中刪除它。因此,我們離開了財產,但在內部方法中刪除了它的用法。當我們這樣做時,該屬性突然從WSDL中丟失......但只在運行IIS6的服務器上。運行IIS 5.1的開發人員仍然可以獲得該屬性。
我們最終把一個平凡的使用回到方法(獲得並將其設置爲空字符串)。突然它IIS6服務器上再次出現了。
怎麼了?
可能的話,在我的情況大家是公開的,然而,類寫很久很久以前在.NET 1.something,因此沒有足夠的{獲得;設置;}聲明。我認爲這可能與你的問題有關。如果是,你可能會得到賞金呢! – ryber 2010-02-16 16:56:48