我的第一个WCF
来源:互联网 发布:专业视频配音软件 编辑:程序博客网 时间:2024/05/16 07:11
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:运行结果的时候
原理和上面的一样。
总结:
面向对象的知识学好后就很容易理解了。当然像我最后还是要通过实例来感受这个过程。
如果哥哥姐姐们你们有跟好的知识,也教教小弟吧 。
- 我的第一个WCF
- 【学习】我的第一个WCF程序,Hello
- WCF学习—我的第一个WCFDemo
- WCF(2)我的第一个WCF程序,(解决方案结构、服务契约定义、服务契约定义等)
- 我的第一个WCF程序——C#创建WEB SERVER
- 我的第一个
- 我的第一个
- 学习WCF遇到的第一个困难
- 第一个WCF程序
- 我的第一个Blog!
- 我的第一个blog
- 我的第一个Robocode
- 我的第一个GMaiL
- 我的第一个BLOG
- 我的第一个HelloWorld
- 我的第一个文章
- 我的第一个BLOG
- 我的第一个BLOG
- 对象名 'users' 无效
- servlet,RMI,webservice之间的区别 .
- discuz文件作用
- test
- Sphinx关联排序是怎样工作的 .
- 我的第一个WCF
- uchome loop标签问题
- ROM、RAM、DRAM、SRAM和FLASH的区别
- android:绘图 (android.graphics包)
- uchome中数据库函数位置
- USB枚举的详细流程
- std::list 自定义排序
- discuz 7.2 前去掉图标改换图片
- 拒绝蜘蛛协议(Robots Exclusion Protocol) .