wcf自身作为宿主的一个小案例
第一步:创建整个解决方案

service.interface:用于定义服务的契约(所有的类的接口)引用了wcf的核心程序集system.ServiceModel.dll
service:用于定义服务类型的类库项目(所有的类)实现了service.interface的所有接口
hosting:控制台应用程序 同时引用了上面的两个程序集
Client:模拟服务的客户端
第二部:在service.interface中定义接口及方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
namespace Server.Interface
{
[ServiceContract(Name = "UserServer", Namespace = "http://www.LiuText.com")]
public interface IUser
{
[OperationContract]
string GetName(string name);
}
}
第三部:实现接口并编写方法
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Server.Interface;
namespace Server
{
public class User:IUser
{
public string GetName(string name)
{
return "我的名字是" + name;
}
}
}
第四部:编写应用程序
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Description;
using Server;
using Server.Interface;
namespace Hosting
{
public class Program
{
public static void main(string[] args)
{
using (ServiceHost host = new ServiceHost(typeof(IUser)))
{
host.AddServiceEndpoint(typeof(IUser), new WSHttpBinding(), "http://172.168.0.1/UserServer");
if (host.Description.Behaviors.Find<ServiceMetadataBehavior>() == null)
{
ServiceMetadataBehavior beh = new ServiceMetadataBehavior();
beh.HttpGetEnabled = true;
beh.HttpGetUrl = new Uri("http://172.168.0.1/UserServer/metadata");
host.Description.Behaviors.Add(beh);
}
host.Opened += delegate
{
Console.WriteLine("服务启动!!");
};
host.Open();
Console.ReadLine();
}
}
}
}
第五步:运行程序并访问程序中所写的路径
这样一个wcf就配好了 就可以调用了
wcf自身作为宿主的一个小案例的更多相关文章
- Python:通过一个小案例深入理解IO多路复用
通过一个小案例深入理解IO多路复用 假如我们现在有这样一个普通的需求,写一个简单的爬虫来爬取校花网的主页 import requests import time start = time.time() ...
- 用Python爬取斗鱼网站的一个小案例
思路解析: 1.我们需要明确爬取数据的目的:为了按热度查看主播的在线观看人数 2.浏览网页源代码,查看我们需要的数据的定位标签 3.在代码中发送一个http请求,获取到网页返回的html(需要注意的是 ...
- JavaWeb:基于MVC设计模式的一个小案例(一)
(未经允许,请勿转载,谢谢.) 本案例的处理过程: 客户端发送一个请求给服务器,服务器把这个请求给Servlet,Servlet 获取请求信息,根据请求信息的情况去调用 model (在这里是一个普通 ...
- extJs学习基础5 理解mvvm的一个小案例
今天很是幸运,看到了一位大神的博客,学习了不少的东西.太感谢了.(满满的都是爱啊) 建议去学习这个大神的博客,真心不错. 博客地址:http://blog.csdn.net/column/detail ...
- 《java入门第一季》之Math类一个小案例获取任意数值范围内随机数
Math:用于数学运算的类. import java.util.Scanner; /* * 需求:请设计一个方法,可以实现获取任意范围内的随机数. * * 分析: * A:键盘录入两个数据. * in ...
- 使用jQuery简单实现返回顶部的一个小案例
1.简单写一个页面 首先我们应该创建两个盒子,container盒子主要模拟页面滚动到的位置,back盒子主要功能是实现返回顶部的功能 2.简单的对这两个盒子写一些样式 我们应该先将返回顶部盒子隐藏( ...
- (24/24) webpack小案例--自己动手用webpack构建一个React的开发环境
通过前面的学习,对webpack有了更深的认识,故此节我们就利用前面相关知识自己动手用webpack构建一个React的开发环境,就算是一个小案例吧. 注:此处使用的开发工具是Webstorm. 1. ...
- 8天入门docker系列 —— 第五天 使用aspnetcore小案例熟悉容器互联和docker-compose一键部署
这一篇继续完善webnotebook,如果你读过上一篇的内容,你应该知道怎么去挂载webnotebook日志和容器的远程访问,但是这些还远不够,webnotebook 总要和一些数据库打交道吧,比如说 ...
- javascript之JSON小案例,实现添加数据与清楚数据
对json应用给出一个小案例,加深一些理解: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" & ...
随机推荐
- oracle导入到Excel
一.从oracle到处数据到excel文件方法一.直接从PL/SQL中,全选数据,然后复制粘贴到excel中: 方法二.同样是通过PL/SQL,在数据列中,点击右键-->导出结果-->选择 ...
- JavaEE基本了解
1. 为什么需要JavaEE 我们编写的JSP代码中,由于大量的显示代码和业务逻辑混淆在一起,彼此嵌套,不利于程序的维护和扩展.当业务需求发生变化的时候,对于程序员和美工都是一个很重的负担. 为了程 ...
- openvpn文本验证模式配置
证书模式要为每个客户端生成一个证书,虽说安全性较好,但是比较麻烦,可以配置成用户名/密码的验证模式,这样就比较方便了,我这里用最简单的文本验证模式. 一.安装openvpn 不多说了,之前有篇文章已经 ...
- Ubuntu 14.04 设置静态IP
使用Network Manager UI界面中指定 手动时,无法保存. 通过修改配置文件解决来此问题.记录以下. 如果输入过密码后,就会出现在这个目录下面, 以如下chinaNet为例 gaojing ...
- NOIP2009 最优贸易
3. 最优贸易 (trade.pas/c/cpp) [问题描述] C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市.任意两个城市之间 多只有一条道路直接相连.这 m 条道 ...
- 8.1.C++ AMP简介
C++ AMP是专为设计支持C++的异构并行模型. 全程是: Accelerator Massive Parallelism 下面是一个Vector C++ AMP的代码,通过这段代码来解释C++ A ...
- python PIL下的各种问题
为了实现验证码的功能,使用了PIL.结果出现各种问题: 先是"ImportError: The _imagingft C module is not installed",goog ...
- 加一个 时间戳 TimeStamp 可以解决 重复提交问题 SqlServer
public partial class Form1 : Form{private SqlConnection mCnn = null;private long TimeStampValue; pu ...
- POJ2778&HDU2243&POJ1625(AC自动机+矩阵/DP)
POJ2778 题意:只有四种字符的字符串(A, C, T and G),有M中字符串不能出现,为长度为n的字符串可以有多少种. 题解:在字符串上有L中状态,所以就有L*A(字符个数)中状态转移.这里 ...
- flashback data archive (转)
闪回数据归档(Flashback Data Archive) 在Oracle 11g当中,对闪回技术再次进行了扩展,提供了一个全新的flashback方式,称之为闪回数据归档,本节我们将对闪回数据归档 ...