从项目A获取WCF服务引用以反映项目B中的更改时遇到了一些麻烦。
我有服务引用和服务引用项目的DLL的标准引用。
在对服务库进行更改时,我的客户端应用程序似乎不会传播这些更改。这是一个例子:
这是我刚刚使用新的'test'构造函数更新的一个类的示例,它位于服务库中:
[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");
}
}
注意构造函数中多余的第二个参数'temp'。
现在这里是我客户端代码的片段(在不同的项目中,相同的解决方案):
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中定义的结果。
客户端甚至编译和运行(考虑到它使用过时的构造函数)这一事实让我感到惊讶。
出了什么问题?提前谢谢。
答案 0 :(得分:0)
我认为您必须右键单击客户端应用程序中的服务引用,然后选择“更新服务引用”。