建立第一个wcf程序
使用管理员权限启动vs (否者将导致ServiceHost开启失败 权限不足)
1.创建一个空的控制台程序
2.添加程序集引用 System.ServiceModel
3.写入一些代码 如下
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks; namespace HelloWCF
{
[ServiceContract]
interface IHelloWCF
{
[OperationContract]
string HelloWCF();
}
public class HelloWCF : IHelloWCF
{
string IHelloWCF.HelloWCF()
{
return "HelloWCF";
}
}
}
这样便创建了一个wcf的服务接口
接下来需要绑定一个host并开启服务
using System;
using System.Collections.Generic;
using System.Linq;
using System.ServiceModel;
using System.Text;
using System.Threading.Tasks;
using System.ServiceModel.Description; namespace HelloWCF
{
class Program
{
static void Main(string[] args)
{
Uri baseAddress = new Uri("http://192.168.5.14/MyService");
ServiceHost host = new ServiceHost(typeof(HelloWCF), baseAddress);
host.AddServiceEndpoint(typeof(IHelloWCF), new WSHttpBinding(), "HelloWCF");
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
host.Description.Behaviors.Add(smb);
host.Open();
Console.WriteLine("已开启"); Console.ReadLine();
host.Close();
Console.WriteLine("已关闭");
Console.ReadLine(); } }
}
Uri baseAddress = new Uri("http://192.168.5.14/MyService"); 创建一个url对象用于绑定寄托的host地址
ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); 创建一个服务元数据行为对象 然后把它加入到宿主ServiceHost 对象的行为集合中去,这样元数据交换就被打开了
smb.HttpGetEnabled = true; 设置服务允许使用get请求 这样服务端便绑定完成 启动控制台程序 另外打开一个vs编辑器 创建一个空的控制台程序 下面将演示客户端调用服务过程 为项目添加服务引用

添加引用

添加后会生成一个服务文件 里面有一些class class中包含我们的服务 调用方式即调用函数 接收出参
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace HelloWCFClient
{
class Program
{
static void Main(string[] args)
{
var client= new HelloWCFClient.HelloWCF.HelloWCFClient();
string result= client.HelloWCF();
Console.WriteLine(result);
client.Close();
Console.Read();
}
}
}

这样就创建了一个wcf服务
建立第一个wcf程序的更多相关文章
- WCF入门教程2——创建第一个WCF程序
本节目标 掌握接口 理解契约式编程 创建宿主程序 创建客户端程序访问服务 什么是接口 认识一下接口 必须知道的接口特性 接口不可以被实例化(常作为类型使用) 实现类必须实现接口的所有方法(抽象类除外) ...
- 跟我一起学WCF(4)——第一个WCF程序
一.引言 前面几篇文章分享了.NET 平台下其他几种分布式技术,然而前面几种分布式技术专注于某一特定的领域,并且具有不同编程接口,这使得开发人员需要掌握多个API的使用.基于这样的原因,微软在.NET ...
- 我的第一个WCF程序,很简单适合我等菜鸟
1.首先我罗列一下网站搜索并经过自己理解的WCF的含义: 1)WCF:(WIndows Communication Foundation)是由微软是由微软发展的一组数据通信的应用开发接口,可以翻译为W ...
- WCF学习笔记(一)---我的第一个WCF程序
一.创建WCF程序 1.创建一个控制台程序(WCFBlog) 2.添加wcf项目 3.将默认的IService1和Service1改成自己的名字 4.在ICalculateServic ...
- 【转】在Eclipse中建立第一个Servlet程序
转载地址:http://kin111.blog.51cto.com/738881/163354 继上篇在Eclipse中搭好了tomcat环境后,我们建立一个最简单的servlet程序,这个serve ...
- 我的第一个WCF程序
写WCF,VS需要一管理员身份呢启动,否则服务无法访问. model层 using System; using System.Runtime.Serialization; namespace MyMo ...
- 第一个WCF程序
WCF的服务需要寄宿在进程中,我们把服务端的叫做宿主,为服务指定宿主指定的过程叫服务寄宿.有两种方式一种是自我寄宿(Self-Hosting),一种是IIS寄宿方式.Self-Hosting我们通过一 ...
- 如何建立一个WCF服务并将其发布到IIS上
在我们的软件开发中,经常会连接到数据库中,如果是常规的操作,我们经常会将连接数据库的字符串写在配置文件中,然后去读取数据库的连接字符串,其实这种方式是非常不科学的,这会直接暴露我们的数据库,直接暴露我 ...
- WCF初探-2:手动实现WCF程序
1.前言 上一篇,我们通过VS自带的模板引擎自动生成了一个wcf程序,接下来我们将手动实现一个wcf程序.由于应用程序开发中一般都会涉及到大量的增删改查业务,所以这个程序将简单演示如何在wcf中构建简 ...
随机推荐
- 【组合计数】UVA - 11538 - Chess Queen
考虑把皇后放在同一横排或者统一纵列,答案为nm(m-1)和nm(n-1),显然. 考虑同一对角线的情况不妨设,n<=m,对角线从左到右依次为1,2,3,...,n-1,n,n,n,...,n(m ...
- 【深搜+set使用学习】POJ3050-Hopscotch
[题目大意] 给出一个5*5的方格,求出从任意一点出发走6步组成的不同序列数. [思路] dfs的水题,当作set使用方法的初次学习.每次从任意一点出发进行一次dfs,将序列加入set,最后输出set ...
- IOS集成到支付宝的步骤及问题
一,在支付宝开放平台下载支付宝SDK(https://openhome.alipay.com/platform/document.htm#down) 二,添加sdk文件到xcode 1,新建一个ali ...
- ps制作导航条 分割线技巧
1 用矩形工具画一个像素的矩形(注意不是路径) 2给矩形添加蒙版,用渐变工具对其进行渐变,达到两头渐隐藏的效果. 制作按钮技巧 用矩形工具画出矩形 然后给矩形添加 内发光 渐变叠加 光泽 描边等操作 ...
- [典型漏洞分享]一个典型的软件漏洞--memcpy导致的缓冲区溢出
YS VTM模块存在缓冲区溢出漏洞,可导致VTM进程异常退出[高] 问题描述: YS VTM模块开放对外监听端口(8554和8664),并从外部接收网络数据,中间模块调用到memcpy函数对网络数据进 ...
- Phpstorm-svn配置
参考网站; http://blog.csdn.net/Knight_quan/article/details/51889476 1 打开PhpStorm,找到工具 VCS—>Checkout ...
- Linux上安装使用SSH(ubuntu&&redhat)
转自:http://blog.csdn.net/zxs9999/article/details/6930736 Ubuntu安装使用SSH ubuntu默认并没有安装ssh服务,如果通过ssh链接ub ...
- nginx安装和配置
一.安装:yum install nginx service nginx restart/start/check/status/... 二.配置:官网文档 http://nginx.org/en/do ...
- cport串口控件的应用
cport是一个很强大的串口控件.支持delphi/bcb.最新版本是v4.10.官网下载地址是:http://sourceforge.net/projects/comport/files/compo ...
- python学习:常见问题
问题1:SyntaxError: Non-ASCII character '\xe5' in file E:\PythonDev\testmodule.py on line 21, but no en ...