WCF Service 配置文件注释

WCF配置详解
正文:
VS 2008 SP1(不确定是否不打SP1是否有)自带的一个编辑工具,可以更快的帮助定制配置文件, 以前看到过没有注意, 昨天正好一个同事提起, 这里记录一笔:打开VS 2008->Tools->WCF Service Configuration Editor, 这个工具的好处是不用查MSDN确定是否拼写是否正确,都有提示和各个节点的定义.
 

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
     <system.ServiceModel>
         <!-- services 元素包含应用中驻留的所有service的配置要求 -->
         <services>
              <!-- 每个服务的配置属性说明:
                name - 指定这个service配置是针对的那个服务,为一个实现了某些Contract的服务类的完全
                  
   
限定名
(名称空间.类型名),ServiceHost载入一个服务后,会到配置文件中的 下找有
                  
   
没有
name属性跟服务匹配的 的配置
                behaviorConfiguration - 指定在下的一个name,这个特定给这个service制定了一些行为,
                      
比如服务是否允许身份模拟
-->
              <service name="名称空间.类型名" behaviorConfiguration="behavior">
                   <host>
                       <baseAddresses>
                            <!-- 在此可以定义每种传输协议的baseAddress,用于跟使用同样传输协议Endpoint定义的相对地
                    址组成完整的地址,但是每种传输协议只能定义一个baseAddressHTTPbaseAddress同时是service
                    对外发布服务说明页面的URL-->
                            <add baseAddress="http://address" />
                       </baseAddresses>
                       <timeouts></timeouts>
                   </host>
                   <!-- 每个服务可以有多个Endpoint,下面 元素对每个Endpoint分别进行配置
                 属性说明:
                 address - 指定这个Endpoint对外的URI,这个URI可以是个绝对地址,也可以是个相对于baseAddress
                           相对地址。如果此属性为空,则这个Endpoint的地址就是baseAddress
                 binding - 指定这个Endpoint使用的binding,这个banding可以是系统预定义的9binding之一,
                           比如是basicHttpBinding,也可以是自定义的customBindingbinding决定了通讯的类型、
                           安全、如何编码、是否基于session、是否基于事务等等
                 contract - 指定这个Endpoint对应的Contract的全限定名(名称空间.类型名),这个Contract应该被
                            service元素的name指定的那个service实现
                 bindingConfiguration - 指定一个binding的配置名称,跟下面同类name匹配
                    behaviorConfiguration - 指定这个endpointbehavior,指向 下的同样配置名称的
                 name - Endpoint的名称,可选属性,每个Contract都可以有多个Endpoint,但是每个Contract对应的
                        多个Endpoint名必须是唯一的-->
                   <endpoint address="URI" binding="basicHttpBinding" contract="Contract全限定名" bindingConfiguration="binding" behaviorConfiguration="String" name="">
                       <!-- 用户定义的xml元素集合,一般用作SOAPheader内容-->
                       <headers>
                            <!-- 任何xml内容 -->
                       </headers>
                   </endpoint>
              </service>
         </services>
         <bindings>
              <!-- 指定一个或多个系统预定义的binding,比如,当然也可以指定自定义的customBinding
             然后在某个指定的binding下建立一个或多个配置,以便被Endpoint来使用这些配置 -->
              <basicHttpBinding>
                   <!-- 某一类的binding的下面可能有多个配置,binding元素的name属性标识某个binding-->
                   <binding name="binding">
                   </binding>
              </basicHttpBinding>
         </bindings>
         <!-- 定义serviceEndpiont行为-->
         <behaviors>
              <!-- 定义service的行为-->
              <serviceBehaviors>
                   <!-- 一个或多个系统提供的或定制的behavior元素
                 属性说明:
                 name - 一个behavior唯一标识,元素下behaviorConfiguration属性指向这个name-->
                   <behavior name="Behavior名称">
                       <!-- 指定service元数据发布和相关信息
                     属性说明:
                     httpGetEnabled - bool类型的值,表示是否允许通过HTTPget方法获取seviceWSDL元数据
                     httpGetUrl - 如果httpGetEnabledtrue,这个属性指示使用哪个URL地址发布服务的WSDL
                                  如果这个属性没有设置,则使用服务的HTTP类型的baseAddress后面加上?WSDL-->
                       <serviceMetadata httpGetEnabled="true" httpGetUrl="http://URI:port/address" />
                       <!--指定验证服务端的凭据-->
                       <serviceCredentials>
                            <!--指定服务端的证书
                         属性说明:
                         storeName - 证书的存储区,可能值为:AddressBookAuthRootCertificateAuthority
                                     DisallowedMyRootTrustedPeopleTrustedPublisher
                         storeLocation - 证书存储位置,可能值为:CurrentUserLocalMachine
                             x509FindType - 查找证书的方式,可能的值:FindBySubjectNameFindByThumbPrintFindByIssuerName......
                             findValue - 对应查找方式的要查找证书的值                  -->
                            <serviceCertificate storeName="存储区" storeLocation="存储位置" x509FindType="FindBySubjectName" findValue="server1" />
                       </serviceCredentials>
                   </behavior>
              </serviceBehaviors>
              <!-- 定义Endpiont的行为-->
              <endpointBehaviors>
                   <!-- 一个或多个系统提供的或定制的behavior元素
                 属性说明:
                 name - 一个behavior唯一标识,元素下behaviorConfiguration属性指向这个name-->
                   <behavior name="Behavior名称">
                       <!--指定客户端的凭据-->
                       <clientCredentials>
                            <!--指定客户端的证书
                         属性说明:
                         storeName - 证书的存储区,可能值为:AddressBookAuthRootCertificateAuthority
                                     DisallowedMyRootTrustedPeopleTrustedPublisher
                         storeLocation - 证书存储位置,可能值为:CurrentUserLocalMachine
                             x509FindType - 查找证书的方式,可能的值:FindBySubjectNameFindByThumbPrintFindByIssuerName......
                             findValue - 对应查找方式的要查找证书的值                  -->
                            <clientCertificate storeName="存储区" storeLocation="存储位置" x509FindType="FindBySubjectName" findValue="Client1" />
                            <serviceCertificate>
                                 <authentication certificateValidationMode="None" />
                            </serviceCertificate>
                       </clientCredentials>
                   </behavior>
              </endpointBehaviors>
         </behaviors>
         <!-- 包含客户端跟服务端连接使用到的Endpoint的配置 -->
         <client>
              <!-- 每个客户端Endpoint设置
             属性说明:
             address - 对应到服务端这个Endpointaddress
             binding - 指定这个Endpoint使用的binding,这个banding可以是系统预定义的9binding之一,
                       比如是basicHttpBinding
             contract - 指定这个Endpoint对应的Contract的全限定名(名称空间.类型名)
             name - Endpoint的配置名,客户端代理类的构造方法中的endpointConfigurationName对应到这个name
             bindingConfiguration - 指定客户端binding的具体设置,指向元素下同类型bindingname
               behaviorConfiguration - 指定这个endpointbehavior,指向 下的同样配置名称的 -->
              <endpoint address="URI" binding="basicHttpBinding" bindingConfiguration="binding" behaviorConfiguration="String" contract="Contract全限定名" name="endpoint配置名" >
                   <!-- 用于客户端验证服务端身份,可选以下一种方式验证服务端-->
                   <identity>
                       <userPrincipalName></userPrincipalName>
                       <servicePrincipalName></servicePrincipalName>
                       <!--如果客户端验证是windows,这里指定DNS;如果是Certificate,这里指定证书subject name-->
                       <dns></dns>
                       <rsa></rsa>
                       <!--指定服务端证书的公钥
                            属性说明:
                            encodedValue - 服务端证书的公钥的base64编码,用于加密用户名和密码-->
                       <certificate encodedValue=""></certificate>
                       <!-- 用户指定在客户端证书存储区内的服务端证书
                         属性说明:
                         storeName - 证书的存储区,可能值为:AddressBookAuthRootCertificateAuthority
                                     DisallowedMyRootTrustedPeopleTrustedPublisher
                         storeLocation - 证书存储位置,可能值为:CurrentUserLocalMachine
                             x509FindType - 查找证书的方式,可能的值:FindBySubjectNameFindByThumbPrintFindByIssuerName......
                             findValue - 对应查找方式的要查找证书的值                  -->
                       <certificateReference storeName="存储区" storeLocation="存储位置" x509FindType="FindBySubjectName" findValue="Client1" />
                   </identity>
              </endpoint>
         </client>
     </system.ServiceModel>
</configuration>

类别: WCF
发布日期: 2009-3-15 13:25
内容概要:本文设计了一种基于PLC的全自动洗衣机控制系统内容概要:本文设计了一种,采用三菱FX基于PLC的全自动洗衣机控制系统,采用3U-32MT型PLC作为三菱FX3U核心控制器,替代传统继-32MT电器控制方式,提升了型PLC作为系统的稳定性与自动化核心控制器,替代水平。系统具备传统继电器控制方式高/低水,实现洗衣机工作位选择、柔和过程的自动化控制/标准洗衣模式切换。系统具备高、暂停加衣、低水位选择、手动脱水及和柔和、标准两种蜂鸣提示等功能洗衣模式,支持,通过GX Works2软件编写梯形图程序,实现进洗衣过程中暂停添加水、洗涤、排水衣物,并增加了手动脱水功能和、脱水等工序蜂鸣器提示的自动循环控制功能,提升了使用的,并引入MCGS组便捷性与灵活性态软件实现人机交互界面监控。控制系统通过GX。硬件设计包括 Works2软件进行主电路、PLC接梯形图编程线与关键元,完成了启动、进水器件选型,软件、正反转洗涤部分完成I/O分配、排水、脱、逻辑流程规划水等工序的逻辑及各功能模块梯设计,并实现了大形图编程。循环与小循环的嵌; 适合人群:自动化套控制流程。此外、电气工程及相关,还利用MCGS组态软件构建专业本科学生,具备PL了人机交互C基础知识和梯界面,实现对洗衣机形图编程能力的运行状态的监控与操作。整体设计涵盖了初级工程技术人员。硬件选型、; 使用场景及目标:I/O分配、电路接线、程序逻辑设计及组①掌握PLC在态监控等多个方面家电自动化控制中的应用方法;②学习,体现了PLC在工业自动化控制中的高效全自动洗衣机控制系统的性与可靠性。;软硬件设计流程 适合人群:电气;③实践工程、自动化及相关MCGS组态软件与PLC的专业的本科生、初级通信与联调工程技术人员以及从事;④完成PLC控制系统开发毕业设计或工业的学习者;具备控制类项目开发参考一定PLC基础知识。; 阅读和梯形图建议:建议结合三菱编程能力的人员GX Works2仿真更为适宜。; 使用场景及目标:①应用于环境与MCGS组态平台进行程序高校毕业设计或调试与运行验证课程项目,帮助学生掌握PLC控制系统的设计,重点关注I/O分配逻辑、梯形图与实现方法;②为工业自动化领域互锁机制及循环控制结构的设计中类似家电控制系统的开发提供参考方案;③思路,深入理解PL通过实际案例理解C在实际工程项目PLC在电机中的应用全过程。控制、时间循环、互锁保护、手动干预等方面的应用逻辑。; 阅读建议:建议结合三菱GX Works2编程软件和MCGS组态软件同步实践,重点理解梯形图程序中各环节的时序逻辑与互锁机制,关注I/O分配与硬件接线的对应关系,并尝试在仿真环境中调试程序以加深对全自动洗衣机控制流程的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值