WCF——1.2 WCF服务、控制台宿主、控制台客户端
来源:互联网 发布:软件安全测试培训 编辑:程序博客网 时间:2024/05/16 09:55
原文:点击打开链接
自己对照做的demo: 点击打开链接
WcfServiceLib - 服务契约的实现; *ConsoleHost工程 – Wcf宿主; *ConsoleClient工程 - Wcf客户端
- 创建WcfServiceLib工程(选WCF Service Library工程模板: VS为我们自动添加一个IService1.cs和Service1.cs)
- Host工程里引用WcfServiceLib工程
- 将WcfServiceLib里App.config移动到ConsoleHost工程里,删掉Lib工程里的App.config
- Host工程的Program.cs添加下面的代码,右击Builder工程
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.ServiceModel;
- using WcfServiceLib;
- namespace WCFStudy2ConsoleHost
- {
- class Program
- {
- static void Main(string[] args)
- {
- using(var host = new ServiceHost(typeof(Service1)))
- {
- host.Open();
- Console.WriteLine("Service start.");
- Console.Read();
- }
- }
- }
- }
- 运行 ConsoleHost工程 bin/debug 下面的 exe(这一步是为了生成客户端代理,需要启动Host)
- 在Client工程里通过添加 Service References,生成客户端Proxy,关闭exe
- 在Client工程的Program.cs里添加如下代码。
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- namespace WCFStudy2ConsoleClient
- {
- class Program
- {
- static void Main(string[] args)
- {
- MyWcfSvc.Service1Client client = new MyWcfSvc.Service1Client();
- var result = client.GetData(123);
- Console.WriteLine(result);
- Console.Read();
- }
- }
- }
- F5 运行Solution里的Host, 再右击Client工程选Debug的Start new instance方式,运行Client
运行结果:
由于ServiceHost实例是被创建在应用程序域中,必须保证宿主进程在调用服务期间不会被关闭,因此利用Console.Read()来阻塞进程,以使得控制台应用程序能够一直运行,直到人为关闭应用程序。
- WCF——1.2 WCF服务、控制台宿主、控制台客户端
- WCF——1.3 WCF服务、WinForm宿主、WinForm客户端
- WCF学习笔记二:客户端调用控制台宿主程序
- WCF服务以控制台程序为宿主时的跨域访问问题(附源码)
- WCF服务以控制台程序为宿主时的跨域访问问题(附源码)
- 在VS2013下新建一个控制台宿主的WCF工程
- 控制台启动WCF服务的配置
- WCF服务自宿主
- Silverlight与WCF通信(四) :Silverlight访问控制台宿主WCF(非svc方式)
- WCF中采用控制台宿主和Winform宿主的主要区别
- WCF服务类库、宿主、web客户端配置
- WCF宿主与服务托管
- WCF宿主与服务托管
- WCF宿主与服务托管
- WCF宿主与服务托管
- WCF宿主与服务托管
- WCF服务控制台托管方法(不使用配置文件)
- 解决在Silverlight中调用WCF控制台程序宿主时跨域问题
- JPA2.0 配置
- 设计模式--适配器模式--UML
- Java 类中各成分加载顺序 和 内存中的存放位置
- 初识/dev/shm & oracle
- dos下批量卸载apk文件
- WCF——1.2 WCF服务、控制台宿主、控制台客户端
- INDEX
- 图片处理系列二Android瀑布流照片墙实现(含源码)
- 倒排索引
- Linux 下几个文件操作命令的代码实现,myfind find 查找命令 实现
- 企业IT规划
- 字符串的全排列和组合算法
- MapReduce :Simpliyed Data Processing on Large Clusters 总结
- 光照归一化算法——DoG滤波,自商图