WCF基础之配置服务
在WCF应用编程中配置服务是其主要部分。
配置可以定义和自定义如何向客户端公开服务,包括服务地址,发送和接受消息的传输和编码,以及服务的安全类型。
服务的配置有两种:编码和使用config文件,大多数是用配置文件进行配置。
<system.serviceModel>
<!--服务-->
<services>
<service>
<host />
<endpoint/>
</service>
</services>
<!--绑定(可选项)-->
<bindings>
<binding>
</binding>
</bindings>
<!--行为(可选项)-->
<behaviors>
<behavior>
</behavior>
</behaviors>
</system.serviceModel>
结构如上。
service:主要有name和behaviorConfiguration两个属性,name是限定的,由命名空间和类名组成,如name="命名空间.实现类"。
endpoint:address统一的资源标识,可以是绝对地址,也可以是相对服务地址,如果为空,则与基地址相同;bing确定传输协议类型、安全和使用编码,以及是否支持或启用可靠会话、事物或流;bingdingConfiguration:这个可以参考这个http://www.cnblogs.com/artech/archive/2011/09/19/defaultbinding.html;
contract:就是服务的接口
<endpoint address="" binding="basicHttpBinding" contract="WcfServiceContract.IService1">
绑定:每个终结点都要求制定正确的绑定,绑定的信息可能非常基本,也可能非常复杂。wcf有许多绑定,如basichttpbinding、WSHttpBinding、NetNamedPipeBinding和NetMsmqBinding等常用绑定,包含协议,编码和传输。还有根据实际情况使用Custombinding.
这些就不详说了,这玩意儿书都能分几章来写呢,入门的话只要知道哪些是必须的,有什么用就好了,能用代码和配置文件对服务进行配置,这个我已经写到要吐了,我就直接粘贴复制了。如果你不会,请一定要多写!
Uri BaseAddress = new Uri("http://localhost:8000/MyService");
ServiceHost host = new ServiceHost(typeof(XiYiJi), BaseAddress);
host.AddServiceEndpoint(typeof(IHelloWCFService), new WSHttpBinding(), "XiYiJiWCFService");
ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
smb.HttpGetEnabled = true;
host.Description.Behaviors.Add(smb);
host.Open();
Console.WriteLine("服务以打开");
Console.ReadKey();
上面这个是代码进行配置的,下面这个是配置文件配置
<system.serviceModel>
<services>
<service name="WCFApplication1.XiYiJi" behaviorConfiguration="metechanged">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8000/MyService"/>
</baseAddresses>
</host>
<endpoint address="XiYiJiWCFService" binding="wsHttpBinding" contract="WCFApplication1.IXiYiJiService" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="metechanged">
<serviceMetadata httpsGetEnabled="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
我不知道有没有人跟我一样,还是留个链接吧http://q.cnblogs.com/q/74606/
WCF基础之配置服务的更多相关文章
- WCF学习笔记——配置服务引用
WCF传过来的东西要序列化. 比如,在WCF服务中,象这么个方法 public IEnumerable<UserItem> GetUserList() 默认情况下,在客户端会调用,是这样: ...
- WCF基础之承载服务和生成客户端
wcf的承载有三种iis.was和自承载,它们如何承载园子里有很多,就不多赘述. 自iis7以后iis支持http和非http的协议,使用iis承载服务与其他两种承载相比,我觉的最明显的是was和自承 ...
- WCF学习心得------(三)配置服务
配置服务 配置服务概述 在设计和实现服务协定后,便可以进行服务的配置.在其中可以定义和自定义如何向客户段公开服务,包括指定可以找到服务的地址,服务用于发送和接受消息的传输和消息编码,以及服务需要的安全 ...
- WCF 配置服务 (02)
配置服务概述 • 在设计和实现服务协定后,即可配置服务. 在其中可以定义和自定义如何向客户端公开服务,包括指定可以找到服务的地址.服务用于发送和接收消息的传输和消息编码,以及服务需要的安全类型. • ...
- WCF服务编程 读书笔记——第1章 WCF基础(2)
续:第1章 WCF基础(1) 元数据交换 服务有两种方案可以发布自己的元数据.一种是基于HTTP-GET协议提供元数据, 另一种则是后面将要讨论的使用专门的终结点的方式.WCF能够为服务自动提供基于H ...
- WCF服务编程 读书笔记——第1章 WCF基础(1)
第1章 WCF基础 本章主要介绍WCF的基本概念.构建模块以及WCF体系架构,以指导读者构建一个简单的WCF服务.从本章的内容中,我们可以了解到WCF的基本术语,包括地址(Address).绑定(Bi ...
- WCF的创建及其服务配置
1 开发环境VS2010,我们可以通过,“WCF服务库”.“WCF服务应用程序”,这里说“WCF服务应用程序”的方式. 2 如下 ① ② 先把项目中的"IService1.cs", ...
- Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基础文件配置,Web框架的本质,服务器程序和应用程序(wsgiref服务端模块,jinja2模板渲染模块)的使用
Django---Http协议简述和原理,HTTP请求码,HTTP请求格式和响应格式(重点),Django的安装与使用,Django项目的创建和运行(cmd和pycharm两种模式),Django的基 ...
- WCF基础
初入职场,开始接触C#,开始接触WCF,那么从头开始学习吧,边学边补充. SOA Service-Oriented Architecture,面向服务架构,粗粒度.开放式.松耦合的服务结构,将应用程序 ...
随机推荐
- rpm安装与卸载命令
linux删除目录(文件夹):rmdir 目录名(目录需非空):直接删除可用: rm -rf 目录名 ,不需考虑是否为空 SecureCRT上传文件:rz ,下载文件:sz rpm 安装:rpm - ...
- facebook chat 【转】
Facebook Chat, offered a nice set of software engineering challenges: Real-time presence notificatio ...
- MFC中 创建基于CFormView的文档视图程序
在MFC中可以创建多种类型的窗口程序,如对话框程序.单文档结构程序(非文档/视图结构).单文档(文档/视图结构)以及多文档视图结构程序等. 在编写一般的小工具时,我们的首选显然是对话框程序,不过基于对 ...
- 转:maven2创建一个eclipse工程,设置M2_REPO
from: http://tonychanhoho.iteye.com/blog/1584324 M2_REPO是一个用来定义 maven 2仓库在硬盘中的存储位置,windows默认是C:\User ...
- netty实现长连接心跳检
主要逻辑: 使用netty实现长连接,主要靠心跳来维持服务器端及客户端连接. 实现的逻辑主要是: 服务器端方面: 1, 服务器在网络空闲操作一定时间后,服务端失败心跳计数器加1. 2, 如果收到客户端 ...
- PHP树生成迷宫及A*自己主动寻路算法
PHP树生成迷宫及A*自己主动寻路算法 迷宫算法是採用树的深度遍历原理.这样生成的迷宫相当的细,并且死胡同数量相对较少! 随意两点之间都存在唯一的一条通路. 至于A*寻路算法是最大众化的一全自己主动寻 ...
- 上传项目至svn服务器,从svn上获取项目
1.在桌面右键->TortoiseSVn->Repo_brower->输入地址,进入 ,ok 2.在地址目录上右键==>>add folder==>>选择你要 ...
- GSL 1.15 and 1.16 building with Visual Studio 2010 --FROM 4fire
http://4fire.wordpress.com/2012/03/18/gsl-1-15-building-with-visual-studio-2010/ Update 05/02/2014: ...
- Node.js学习笔记(5)——关于child_process模块
child_process是node一个比较重要的模块,通过它可以实现创建多线程,来利用多核CPU. 这个模块提供了四个创建子进程的函数. spawn.exec.execFile.fork. spaw ...
- VueJS条件语句:v-if、v-else、v-else-if
HTML:if-else <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...