一、新建 WCF 工程
为了便于理解,删除系统给的示例服务 Service1:
二、新建 WCF 服务
右键项目 -> 添加 -> WCF 服务,弹出对话框:
会生成两个文件,一个接口文件,一个 WCF 服务文件:
三、编写 WCF 服务
打开 IWeather.cs ,可以看到:
[ServiceContract] 声明下面的类在程序中定义一个 WCF 契约。
[OperationContract] 声明下面的方法是契约里的一个操作。
namespace WCF_test { // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IWeather”。 [ServiceContract] public interface IWeather { [OperationContract] void DoWork(); } }
修改 void DoWork() 为 string GetWeather(string city),后面我们使用这个接口的实现去获取天气。
打开 Weather.cs ,实现 GetWeather 方法:
namespace WCF_test { // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“Weather”。 // 注意: 为了启动 WCF 测试客户端以测试此服务,请在解决方案资源管理器中选择 Weather.svc 或 Weather.svc.cs,然后开始调试。 public class Weather : IWeather { public string GetWeather(string city) { string weather = ""; switch (city) { case "WuXi": weather = "Sun"; break; case "XiAn": weather = "Windy"; break; case "ShangHai": weather = "Snow"; break; case "ZhuHai": weather = "Rainbow"; break; } return weather; } } }
修改好后,编译一下,确认没有错误,进行下一步。
三、修改 WCF 配置文件
虽然已经写好了 WCF 服务,但是为了能够让 ServiceHost 理解我的服务,要在配置文件里配置、注册一下。
右键 Web.config -> 编辑 WCF 配置:
在 WCF 配置编辑器中:
1,右键服务 -> 新建服务 -> 选择刚才编译的 dll 文件:
2,右键终结点 -> 新建服务终结点 -> 在 Contract 里选择刚才编译的 dll 文件:
3,高级 -> 服务行为 -> 空名称,给该服务行为取个名字,随便取,这里取 cxk:
4,Ctrl + S ,保存本次编辑,再次打开 Web.config 文件,就能看到编辑后的配置信息:
四、新建项目,承载此 WCF 服务