Wcf引用了类代码更新

时间:2016-10-30 18:15:58

标签: c# .net wpf wcf

我是wpf和wcf C#应用程序开发的新手,并坚持更新引用wcf服务的类。例如,Service有一类testDbConnect,并具有在iservice.cs和service.cs中定义和实现的各种服务操作契约函数。然后在wpf类中,此服务被添加为引用,并且在通过按钮单击操作调用服务功能时工作正常。这就是我在按钮点击时测试的内容。

        Service1Client service = new Service1Client();

        if (service.Testdb() == 1)  //Testdb is the function in service which is only returning 1
        {
            MessageBox.Show("Hello there");
        }

我面临的问题,它完全启动服务并在按钮点击时显示消息框(你好)但当我更新代码甚至在按钮单击内,它仍然继续显示你好那里消息框而不是更新码。也许有一些代理生成,但我不理解它。这将是伟大的如果有人能用简单的话语解释我并告诉我如何解决它。感谢

1 个答案:

答案 0 :(得分:0)

根据您使用WCF服务的方式,您需要更新服务参考。

假设您需要在int Testdb();服务中重命名int TestDb();。你转到你的合同(IService1.cs),改变签名以匹配:

<强> IService1.cs

[ServiceContract]
public interface IService1
{
    [OperationContract]
    int TestDb();
}

然后转到您的服务并更新您的方法: 的 Service1.cs

public class Service1 : IService1
{
    public int TestDb()
    {
        return 1;
    }
}

然后,在服务器端您可以继续使用,但您需要在客户端应用上更新服务引用,以便您的代理反映新的方法签名。因此,在客户端应用程序中,展开“服务引用”文件夹,右键单击 ServiceReference1 - 或服务引用的名称 - 节点,然后选择“更新服务引用”。

Updating services references

让Visual Studio更新服务引用,然后您应该能够使用新名称调用TestDb方法。

希望这有帮助!