WCF配置文件詳細說明,這個要多看看喲安全
1 <?xml version="1.0" encoding="utf-8" ?> 2 <configuration> 3 <!-- <system.ServiceModel> section --> 4 <system.ServiceModel> 5 <!-- services 元素包含應用中駐留的全部service的配置要求 --> 6 <services> 7 <!-- 每一個服務的配置 8 屬性說明: 9 name - 指定這個service配置是針對的那個服務,爲一個實現了某些Contract的服務類的徹底限定名 10 (名稱空間.類型名),ServiceHost載入一個服務後,會到配置文件中的<services>下找有沒有 11 name屬性跟服務匹配的<service>的配置 12 behaviorConfiguration - 指定在<serviceBehaviors>下的一個<behavior>的name,這個特定<behavior> 13 給這個service制定了一些行爲,好比服務是否容許身份模擬--> 14 <service name="名稱空間.類型名" behaviorConfiguration="behavior名"> 15 <!-- 每一個服務能夠有多個Endpoint,下面<endpoint>元素對每一個Endpoint分別進行配置 16 屬性說明: 17 address - 指定這個Endpoint對外的URI,這個URI能夠是個絕對地址,也能夠是個相對於baseAddress的 18 相對地址。若是此屬性爲空,則這個Endpoint的地址就是baseAddress 19 binding - 指定這個Endpoint使用的binding,這個banding能夠是系統預約義的9個binding之一, 20 好比是basicHttpBinding,也能夠是自定義的customBinding。binding決定了通信的類型、 21 安全、如何編碼、是否基於session、是否基於事務等等 22 contract - 指定這個Endpoint對應的Contract的全限定名(名稱空間.類型名),這個Contract應該被 23 service元素的name指定的那個service實現 24 bindingConfiguration - 指定一個binding的配置名稱,跟<bindings>下面同類<binding>的name匹配 25 name - Endpoint的名稱,可選屬性,每一個Contract均可以有多個Endpoint,可是每一個Contract對應的 26 多個Endpoint名必須是惟一的--> 27 <endpoint address="URI" binding="basicHttpBinding" contract="Contract全限定名" bindingConfiguration="binding名" name=""> 28 <!-- 用戶定義的xml元素集合,通常用做SOAP的header內容--> 29 <headers> 30 <!-- 任何xml內容 --> 31 </headers> 32 <identity> 33 <!-- <identity>下的元素都是可選的--> 34 <userPrincipalName></userPrincipalName> 35 <servicePrincipalName></servicePrincipalName> 36 <dns></dns> 37 <rsa></rsa> 38 <certificate encodedValue=""></certificate> 39 <!-- <certificateReference>的屬性都是可選的 40 屬性說明: 41 storeName - 證書的存儲區,可能值爲:AddressBook,AuthRoot,CertificateAuthority 42 Disallowed,My,Root,TrustedPeople,TrustedPublisher 43 storeLocation - 證書存儲位置,可能值爲:CurrentUser,LocalMachine--> 44 <certificateReference storeName="" storeLocation=""> 45 </certificateReference> 46 </identity> 47 </endpoint> 48 <host> 49 <baseAddresses> 50 <!-- 在此能夠定義每種傳輸協議的baseAddress,用於跟使用一樣傳輸協議Endpoint定義的相對地 51 址組成完整的地址,可是每種傳輸協議只能定義一個baseAddress。HTTP的baseAddress同時是service 52 對外發布元數據的URL--> 53 <add baseAddress="http://address" /> 54 </baseAddresses> 55 <timeouts></timeouts> 56 </host> 57 </service> 58 </services> 59 60 <bindings> 61 <!-- 指定一個或多個系統預約義的binding,好比<basicHttpBinding>,固然也能夠指定自定義的customBinding, 62 而後在某個指定的binding下創建一個或多個配置,以便被Endpoint來使用這些配置 --> 63 <basicHttpBinding> 64 <!-- 某一類的binding的下面可能有多個配置,binding元素的name屬性標識某個binding--> 65 <binding name="binding名"> 66 </binding> 67 </basicHttpBinding> 68 </bindings> 69 <!-- 定義service和Endpiont行爲--> 70 <behaviors> 71 <!-- 定義service的行爲--> 72 <serviceBehaviors> 73 <!-- 一個或多個系統提供的或定製的behavior元素 74 屬性說明: 75 name - 一個behavior惟一標識,<service>元素的behaviorConfiguration屬性指向這個name--> 76 <behavior name=""> 77 <!-- 指定service元數據發佈和相關信息 78 屬性說明: 79 httpGetEnabled - bool類型的值,表示是否容許經過HTTP的get方法獲取sevice的WSDL元數據 80 httpGetUrl - 若是httpGetEnabled爲true,這個屬性指示使用哪一個URL地址發佈服務的WSDL, 81 若是這個屬性沒有設置,則使用服務的HTTP類型的baseAddress後面加上?WSDL--> 82 <serviceMetadata httpGetEnabled="true" httpGetUrl="http://URI:port/address" /> 83 </behavior> 84 </serviceBehaviors> 85 <!-- 定義Endpiont的行爲--> 86 <endpointBehaviors> 87 </endpointBehaviors> 88 </behaviors> 89 <!-- 包含客戶端跟服務端鏈接使用到的Endpoint的配置 --> 90 <client> 91 <!-- 每一個客戶端Endpoint設置 92 屬性說明: 93 address - 對應到服務端這個Endpoint的address 94 binding - 指定這個Endpoint使用的binding,這個banding能夠是系統預約義的9個binding之一, 95 好比是basicHttpBinding 96 contract - 指定這個Endpoint對應的Contract的全限定名(名稱空間.類型名) 97 name - Endpoint的配置名,客戶端代理類的構造方法中的endpointConfigurationName對應到這個name 98 bindingConfiguration - 指定客戶端binding的具體設置,指向<bindings>元素下同類型binding的name --> 99 <endpoint address="URI" 100 binding="basicHttpBinding" bindingConfiguration="binding名" 101 contract="Contract全限定名" name="endpoint配置名" /> 102 </client> 103 </system.ServiceModel> 104 </configuration>