Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# WCF使用OperationContract修饰的某些方法未显示(未公开)给客户端_C#_Wcf - Fatal编程技术网

C# WCF使用OperationContract修饰的某些方法未显示(未公开)给客户端

C# WCF使用OperationContract修饰的某些方法未显示(未公开)给客户端,c#,wcf,C#,Wcf,我在Windows Server 2016上的IIS中使用Framework 4.6.01586托管了一个WCF服务。我正在使用Visual Studio 2012和最新的service pack 我的界面中有两个方法用[OperationContract]修饰——GetData和InsertData方法。我的服务已经启动并运行,我可以毫无问题地浏览SVC并查看WSDL。我创建了一个C#客户端应用程序,并向该服务添加了一个服务引用 Service1Client client = new Serv

我在Windows Server 2016上的IIS中使用Framework 4.6.01586托管了一个WCF服务。我正在使用Visual Studio 2012和最新的service pack

我的界面中有两个方法用[OperationContract]修饰——GetData和InsertData方法。我的服务已经启动并运行,我可以毫无问题地浏览SVC并查看WSDL。我创建了一个C#客户端应用程序,并向该服务添加了一个服务引用

Service1Client client = new Service1Client();
string result = client.
这就是我的问题所在。在上面代码行中的句点之后,我应该看到可以添加的GetData和InsertData方法,但我只看到GetData方法。同样,服务接口中的两个方法都用它们自己的[OperationContract]标记修饰,当我查看WSDL时,我确实看到两个方法都列出了,所以我不知道InsertData方法为什么没有出现

namespace DatabaseService1
     [ServiceContract]
     public interface IService1
     {
          [OperationContract]
          string GetData(string value);

          [OperationContract]
          string InsertData(string value);
     }

     [DataContract]
     …
}

我可能错过了一些简单的东西,但我想不出来。我已确保重建了服务和客户端。

您是否更新了客户端项目中的服务引用?在解决方案资源管理器中,右键单击服务引用(在客户端项目中),然后单击“更新服务引用”。啊!我知道这可能很简单,但不是那么简单。我假设服务引用是动态的,在编译项目时会更新。这就是我假设的结果。谢谢你的回答,Polyfun!