[转]我的第一个WCF
1:首先新建一个解决方案
2:右击解决方案添加一个控制台程序
3:对着新建好的控制台程序右击添加wcf服务
最后的结果:
有3个文件 app.config Iwcf_server.cs wcf_server.cs 一个配置文件 一个接口类 一个继承接口的文件。
代码:
Iwcf_server.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text; namespace w_sp
{
// 注意: 如果更改此处的接口名称 "Iwcf_server",也必须更新 App.config 中对 "Iwcf_server" 的引用。
[ServiceContract]
public interface Iwcf_server
{
[OperationContract]
string t_sp(string measage);
}
}
wcf_server.cs
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text; namespace w_sp
{
// 注意: 如果更改此处的类名 "wcf_server",也必须更新 App.config 中对 "wcf_server" 的引用。
public class wcf_server : Iwcf_server
{
public string t_sp(string message)
{
return string.Format("我想你了{0}",message);
}
}
}
注意:wcf_server.cs 继承Iwcf_server.cs后必须全部实现接口定义的方法。并且不能实例化接口 实现接口的方法也不能用静态static 修饰(如public static string t_sp 错误)。
Program.cs
代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel; namespace w_sp
{
class Program
{
static void Main(string[] args)
{
using (ServiceHost host = new ServiceHost(typeof(w_sp.wcf_server)))
{
host.Open();
Console.ReadLine();
host.Close();
}
}
}
}
最后一个就是app.config文件的配置
<add baseAddress="http://localhost:8731/Design_Time_Addresses/w_sp/wcf_server/" /> 默认是这个样子 ,可以简化成http://localhost:8731/wcf_server/。
最后编译生成下项目可以了 ,这里一个wcf程序完成了。
最后运行w_sp.exe文件
----------------------------------------------------------------------------------------------------- 分割线 -------------------------------------------------------------------------------------------
按照上面的步骤继续添加一个客户端控制台程序,最后添加服务引用
地址(url)就是配置文件里面的
最后在第2个新建的cs文件的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using w_p.tsp; namespace w_p
{
class w_sp
{
static void Main(string[] args)
{
tsp.Iwcf_serverClient sp = new Iwcf_serverClient();
string str = sp.t_sp("苏培");
Console.WriteLine(str);
Console.ReadLine();
}
}
}
运行结果:
遇到的问题:
1:添加引用服务的时候(当然要输入正确的地址否则也提示无效)
我们可以理解我们写的wcf是一个远程的服务你添加引用它,肯定要运行这个服务(好比连接数据库肯定要首先打开数据库服务)
2:运行结果的时候
原理和上面的一样。
最新文章
- ABP框架 - 数据过滤
- 聊聊ASP.NET Core默认提供的这个跨平台的服务器&mdash;&mdash;KestrelServer
- 【BZOJ-4455】小星星 容斥 + 树形DP
- 2016-2017 ACM-ICPC, NEERC, Southern Subregional Contest (Online Mirror, ACM-ICPC Rules, Teams Preferred) J dp 背包
- 团队项目之Sprint计划会议
- RAC,客户端连接失败ORA-12514
- SqlBulkCopy高效能批量插入SQL SERVER
- 文字排版--斜体(font-style)
- C++ —— 库函数的 语法解析
- web开发相关
- javascript 之作用域链-10
- mysql查询order by 指定字段排序
- jdk 版本切换
- 以太坊 ERC20 与 ERC721 深度解密
- linux驱动(续)
- Tensorflow r1.8安装C++接口(兼容OpenCV3)
- elasticsearch6.7 01.入门指南(1)
- ubuntu16.04node和npm卸载干净
- courator - create
- Http请求帮助类
热门文章
- HDOJ/HDU 2555 人人都能参加第30届校田径运动会了(判断加排序~)
- Bzoj 2186: [Sdoi2008]沙拉公主的困惑 乘法逆元,线性筛,欧拉函数,数论
- MVC 5 第一章 起航
- octopress添加回到顶部按钮
- 用PHP写的一个简单的分页类 1.0版
- 《University Calculus》-chape10-向量和空间几何学-叉积
- 短随机唯一id生成参考
- SQL-LINQ-Lambda语法对照
- MySQL slave状态之Seconds_Behind_Master
- [每日一题] 11gOCP 1z0-052 :2013-09-1 RMAN-- repair failure........................................A20