WCF编程系列(四)配置文件
2010-05-15 11:38
78 查看
.NET应用程序的配置文件
前述示例中Host项目中的App.config以及Client项目中的App.config称为应用程序配置文件,通过该文件配置可控制程序的运行时行为,相对于在设计时通过程序来设定运行时行为,配置文件具有更高的灵活性:我们无需重新编译程序即可修改应用程序行为。编译器最终会将App.config编译成[应用程序名称].exe.config文件,并放在当前应用程序目录中。而对应Web应用程序(ASP.NET)其对应的配置文件为Web.config。
.NET存在一个默认的全局配置文件Machine.config,通常位于相应.NetFramework运行库目录下的Config目录中,如:C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG。.NET应用程序启动时,会将应用程序下的App.config与Machine.config合并(App.config的配置会覆盖Machine.config配置)。
.NET配置文件是一个标准的XML文件,根节点为<configuration>,在该节点下包含多个.NET的配置节点
隐藏行号复制代码?C#
//functionCopyCode(key){varcodeElement=null;vartrElements=document.all.tags("ol");vari;for(i=0;iWCF配置文件结构
WCF配置位于应用程序配置文件中的<system.serviceModel>节点下,其主要内容如下:
隐藏行号复制代码?C#
//functionCopyCode(key){varcodeElement=null;vartrElements=document.all.tags("ol");vari;for(i=0;i <services>节点
该节点下包含应用程序承载的所有服务规范,由多个<service>节点组成。
<service>节点
一个<service>定义一个服务,该节点包含两个属性:name,指定提供服务契约实现的类型,是一个完全限定名称(即包括命名空间和类型名称),如示例一中指定的Xfrog.Study.WCF.FirstService;behaviorConfiguration,指定服务的行为控制配置名称,该名称和<behaviors>下<behavior>节点的name属性对应,如示例一中的behaviorConfiguration。
<endpoint>节点
<service>节点下可包含多个<endpoint>节点,每个节点包含以下属性,用以指定终结点的地址、绑定及契约:
address属性,一个URI用以指定服务的地址,它可以是相对地址也可以是绝对地址,如果指定的是相对地址,其基地址取<service><host><baseAddresses>下定义的地址,如示例一中的定义。
binding属性,指定一个绑定,通常是WCF中预定义绑定,当然也可以指定一个自定义的绑定。
contract属性,指定一个契约,通常为通过ServiceContract特性定义的接口或类型,同样是一个完全限定名称,如示例一中的Xfrog.Study.WCF.IFirstService。
bindingConfiguration属性,如果需要修改绑定的默认行为,则需要在bindings节点下,预定义绑定对应的绑定配置节点(参见【WCF编程系列(三)】中的预定义绑定列表)下的<binding>节点来指定,该节点的name属性和此处bindingConfiguration属性对应,如示例一中Client项目中的绑定:
隐藏行号复制代码?C#
//functionCopyCode(key){varcodeElement=null;vartrElements=document.all.tags("ol");vari;for(i=0;i <endpoint>中bindingConfigration设置为BasicHttpBinding_IFirstService,对应于<bindings><basicHttpBinding><bindingname="BasicHttpBinding_IFirstService"….>中的定义,而<basicHttpBinding>配置节点对应的是basicHttpBinding预定义绑定。
<client>节点
该节点用于客户端的配置,在该节点下指定客户端需调用的终结点定义。
使用WCF配置编辑器
前面示例中我们都是通过手动输入的配置内容,实际上VisualStudio2008为我们提供了一个WCF配置编辑器,在VS中选择工具菜单—>WCF服务配置编辑器可启动它,如果项目中已经存在App.config文件,则可直接在该文件上单击右键,选择编辑WCF配置来启动编辑器。
前述示例中Host项目中的App.config以及Client项目中的App.config称为应用程序配置文件,通过该文件配置可控制程序的运行时行为,相对于在设计时通过程序来设定运行时行为,配置文件具有更高的灵活性:我们无需重新编译程序即可修改应用程序行为。编译器最终会将App.config编译成[应用程序名称].exe.config文件,并放在当前应用程序目录中。而对应Web应用程序(ASP.NET)其对应的配置文件为Web.config。
.NET存在一个默认的全局配置文件Machine.config,通常位于相应.NetFramework运行库目录下的Config目录中,如:C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG。.NET应用程序启动时,会将应用程序下的App.config与Machine.config合并(App.config的配置会覆盖Machine.config配置)。
.NET配置文件是一个标准的XML文件,根节点为<configuration>,在该节点下包含多个.NET的配置节点
隐藏行号复制代码?C#
<?xmlversion="1.0"encoding="utf-8"?>
<configuration>
......
</configuration>
//functionCopyCode(key){varcodeElement=null;vartrElements=document.all.tags("ol");vari;for(i=0;i
WCF配置位于应用程序配置文件中的<system.serviceModel>节点下,其主要内容如下:
隐藏行号复制代码?C#
<system.ServiceModel>
<services>
<service>
<endpoint/>
</service>
</services>
<bindings>
<binding>
</binding>
</bindings>
<behaviors>
<behavior>
</behavior>
</behaviors>
<client>
<endpoint/>
</client>
</system.ServiceModel>
//functionCopyCode(key){varcodeElement=null;vartrElements=document.all.tags("ol");vari;for(i=0;i
该节点下包含应用程序承载的所有服务规范,由多个<service>节点组成。
<service>节点
一个<service>定义一个服务,该节点包含两个属性:name,指定提供服务契约实现的类型,是一个完全限定名称(即包括命名空间和类型名称),如示例一中指定的Xfrog.Study.WCF.FirstService;behaviorConfiguration,指定服务的行为控制配置名称,该名称和<behaviors>下<behavior>节点的name属性对应,如示例一中的behaviorConfiguration。
<endpoint>节点
<service>节点下可包含多个<endpoint>节点,每个节点包含以下属性,用以指定终结点的地址、绑定及契约:
address属性,一个URI用以指定服务的地址,它可以是相对地址也可以是绝对地址,如果指定的是相对地址,其基地址取<service><host><baseAddresses>下定义的地址,如示例一中的定义。
binding属性,指定一个绑定,通常是WCF中预定义绑定,当然也可以指定一个自定义的绑定。
contract属性,指定一个契约,通常为通过ServiceContract特性定义的接口或类型,同样是一个完全限定名称,如示例一中的Xfrog.Study.WCF.IFirstService。
bindingConfiguration属性,如果需要修改绑定的默认行为,则需要在bindings节点下,预定义绑定对应的绑定配置节点(参见【WCF编程系列(三)】中的预定义绑定列表)下的<binding>节点来指定,该节点的name属性和此处bindingConfiguration属性对应,如示例一中Client项目中的绑定:
隐藏行号复制代码?C#
<?xmlversion="1.0"encoding="utf-8"?>
<configuration>
<system.serviceModel>
<bindings>
<basicHttpBinding>
<bindingname="BasicHttpBinding_IFirstService"....>
....
</binding>
</basicHttpBinding>
</bindings>
<client>
<endpointbinding="basicHttpBinding"
bindingConfiguration="BasicHttpBinding_IFirstService"contract="IFirstService"
name="BasicHttpBinding_IFirstService"/>
</client>
</system.serviceModel>
</configuration>
//functionCopyCode(key){varcodeElement=null;vartrElements=document.all.tags("ol");vari;for(i=0;i
<client>节点
该节点用于客户端的配置,在该节点下指定客户端需调用的终结点定义。
使用WCF配置编辑器
前面示例中我们都是通过手动输入的配置内容,实际上VisualStudio2008为我们提供了一个WCF配置编辑器,在VS中选择工具菜单—>WCF服务配置编辑器可启动它,如果项目中已经存在App.config文件,则可直接在该文件上单击右键,选择编辑WCF配置来启动编辑器。
相关文章推荐
- WCF编程系列(四)配置文件
- 全文检索引擎Solr系列——Solr核心概念、配置文件
- struts2源码系列(4)--配置文件解析
- WCF系列(二) -- 使用配置文件构建和使用WCF服务
- WCF系列(二)配置文件
- 深入浅出Mybatis系列(七)---mapper映射文件配置之insert、update、delete
- (安全系列二)apk反编译生成程序的源代码和图片、XML配置、语言资源等文件
- Spring boot系列:配置文件(二)
- WCF系列(一) -- 完全不使用配置文件构建和使用WCF服务
- apache kafka系列之server.properties配置文件参数说明
- 【C#进阶系列】03 配置文件管理与程序集的引用版本重定向
- 基于FreeRTOS与MQTT的物联网技术应用系列——步进电机控制(三)SD卡驱动、FatFS等的移植和ini配置文件读取的实现
- 《WF编程》系列之41 - 承载工作流:日志和配置文件
- Spring Boot系列(二):Spring Boot的配置文件
- 【AD用户设置系列一】让IT省心省力的漫游配置文件
- twemproxy源码解析系列三----Twemproxy配置文件解析及相关组件初始化过程
- Caffe学习系列(6):Blob,Layer and Net以及对应配置文件的编写
- enoeht的Java源码系列(4)--继续处理配置文件
- Redis系列-配置文件小结
- keepalived配置文件解析系列之(三)配置文件解析过程