创建第一个WCF服务

创建WCF服务

1. 新建立空白解决方案,并在解决方案中新建项目,项目类型为:WCF服务应用程序。

2、建立完成后如下图所示:

3、删除系统生成的两个文件IService1.cs与Service1.svc(或者自己重命名,在系统生成的基础文件中进行编码,此处感觉重命名麻烦,于是选择删除--新建)

4、添加自定义的WCF【服务文件】Test.svc

5、此时vs2010会自动生成WCF接口文件ITest.cs

6、我们在ITest中定义WCF方法TransferTest

public interface ITest  
    {  
        [OperationContract]  
        string TransferTest(int num);  
    }  

7、在Test.svc.cs对该接口的方法进行实现

// 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“Test”。  
    public class Test : ITest  
    {  
        public string TransferTest(int num)  
        {  
            return  ""+num+"次WCF调用成功!";  
        }  
    } 

可以看到,在WCF中的接口与普通接口的区别只在于两个上下文,其他的和我们正常学习的接口一样。定义这个上下文要添加System.ServiceModel的引用。[ServiceContract],来说明接口是一个WCF的接口,如果不加的话,将不能被外部调用。[OperationContract],来说明该方法是一个WCF接口的方法,不加的话同上。

8、此时我们的第一个WCF服务程序就建立好了,将Test.svc“设为起始页”,然后F5运行一下试试,如下图所示,VS2010自动调用了WCF的客户端测试工具以便我们测试程序:

9、我们双击上图中的 TransferTest() 方法,出现如下图:

在请求窗口中的值中输入参数“99”,然后点击“调用”,在响应窗口中会出现返回值“"第99次WCF调用成功!",说明测试成功,点击下面的XML也可以看到XML的数据传输。

WPF中进行引用

1.开启服务

运行WCF服务

2.在WPF项目中右键点击项目引用,点击添加服务引用,输入上述发布的URL(就是想当于一个http请求中的get和post),可以不用后面的?wsdl,会出现下图所示页面。

点击前往

此时我们完成了对服务的引用。我们再次查看解决方案,里面多了Service References的文件夹,通过资源管理器打开后里面多了些文件,这些文件用于客户端向服务端的调用。

4.在WPF进行调用的时候,找到Service References中服务类,这里我们调用的是Test接口,所以在引用中可能是TestClient,具体看代码。这样就可以进行调用了。

原文地址:https://www.cnblogs.com/callyblog/p/8329559.html