我有一點麻煩,從項目中我的WCF服務的參考,以反映項目B.變化WCF服務不更新(多項目,相同的解決方案)
都在我服務的參考和標準參考服務參考項目的DLL。
當對服務庫進行更改時,這些更改似乎不會傳播到我的客戶端應用程序。這裏有一個例子:
這是一個一流的,我只是一個新的「測試」構造更新,駐留在服務庫的例子:
[DataContract]
public class TransactionUploadResult {
[DataMember]
public string Transaction_ID;
[DataMember]
public bool Error;
public TransactionUploadResult(string id, string temp, bool error) {
Transaction_ID = id;
Error = error;
}
public override string ToString() {
return "TID:" + Transaction_ID + ", " + (Error ? "ERROR" : "SUCCESS");
}
}
通知多餘的第二個參數「臨時」在構造函數中。
現在,這裏是從我的客戶端代碼片段(在不同的項目,相同的解決方案):
private void button1_Click(object sender, EventArgs e) {
TransactionUploadResult tur = new TransactionUploadResult("test", true);
MessageBox.Show(tur.ToString());
MessageBox.Show(RemoteHandler.ServiceClient.UploadTransaction(new Transaction()).ToString());
}
UploadTransaction()返回一個TransactionUploadResult。 MessageBoxes都顯示用戶定義對象的標準ToString()結果,而不是我在TransactionUploadResult中定義的結果。
客戶端甚至編譯並運行(考慮到它使用過時的構造函數)的事實令我感到驚訝。
怎麼回事?提前致謝。
只是要確定:您是否檢查了ServiceReference配置設置「在所有引用的程序集中重用類型」? – 2012-03-20 10:04:57
這是檢查,是的,這是做什麼? – Xenoprimate 2012-03-20 15:10:19