我是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");
}
我面临的问题,它完全启动服务并在按钮点击时显示消息框(你好)但当我更新代码甚至在按钮单击内,它仍然继续显示你好那里消息框而不是更新码。也许有一些代理生成,但我不理解它。这将是伟大的如果有人能用简单的话语解释我并告诉我如何解决它。感谢
答案 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 - 或服务引用的名称 - 节点,然后选择“更新服务引用”。
让Visual Studio更新服务引用,然后您应该能够使用新名称调用TestDb
方法。
希望这有帮助!