标签:
IDE:VS2013
OS:Win10
IIS:IIS 10
3.删除系统自动生成的两个文件IService1.cs和Service1.svc
4.添加自定义的WCF服务文件
5.在IUser.cs文件中,定义方法名
注:
[ServiceContract]来说明是一个WCF接口,不加的话,不能被外部调用
[OperationContract]来说明该方法是一个WCF接口的方法,不加不能被外部调用
namespace WCFService { // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码和配置文件中的接口名“IUser”。 [ServiceContract] public interface IUser { [OperationContract] string ShowName(string name); } }
6.在User.svc.cs文件中,实现具体的方法
namespace WCFService { // 注意: 使用“重构”菜单上的“重命名”命令,可以同时更改代码、svc 和配置文件中的类名“User”。 // 注意: 为了启动 WCF 测试客户端以测试此服务,请在解决方案资源管理器中选择 User.svc 或 User.svc.cs,然后开始调试。 public class User : IUser { public string ShowName(string name) { string wcfName = string.Format("WCF服务,显示姓名:{0}", name); return wcfName; } } }
7.将User.svc设置为启动项,并运行项目,VS会自动调用WCF的客户端测试工具
8.点击要测试的方法名,然后在请求体中输入值
9.点击调用,在相应窗口会出现该方法的返回值。
10.点击XML,可以看到传输的原始数据格式
(1)请求报文
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header> <Action s:mustUnderstand="1" xmlns="http://schemas.microsoft.com/ws/2005/05/addressing/none">http://tempuri.org/IUser/ShowName</Action> </s:Header> <s:Body> <ShowName xmlns="http://tempuri.org/"> <name>Kimisme</name> </ShowName> </s:Body> </s:Envelope>
(2)响应报文
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"> <s:Header /> <s:Body> <ShowNameResponse xmlns="http://tempuri.org/"> <ShowNameResult>WCF服务,显示姓名:Kimisme</ShowNameResult> </ShowNameResponse> </s:Body> </s:Envelope>
我们把上面的WCF程序部署到IIS,然后实现服务器A的应用程序来访问服务器B上的WCF程序,实现服务器端的应用程序通讯
注:SvcUti所在目录为:C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\SvcUtil.exe
namespace WCFClient { /// <summary> /// WCFTest1 的摘要说明 /// </summary> public class WCFTest1 : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; UserClient user = new UserClient(); string msg = user.ShowName("Kimisme"); context.Response.Write(msg); } public bool IsReusable { get { return false; } } } }
同时在项目中添加对上图中的http://localhost:9003/User.svc?singleWsdl引用
http://www.tuicool.com/articles/uAjMvyn
http://www.cnblogs.com/iamlilinfeng/category/415833.html
标签:
原文地址:http://www.cnblogs.com/2star/p/5399406.html