WCF服务未更新(多项目,相同的解决方案)

时间:2012-03-20 07:55:26

标签: c# wcf

从项目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中定义的结果。

客户端甚至编译和运行(考虑到它使用过时的构造函数)这一事实让我感到惊讶。

出了什么问题?提前谢谢。

1 个答案:

答案 0 :(得分:0)

我认为您必须右键单击客户端应用程序中的服务引用,然后选择“更新服务引用”。