WCF配置檔案
WCF配置檔案
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- <system.ServiceModel> section -->
<system.ServiceModel>
<!-- services 元素包含應用中駐留的所有service的配置要求 -->
<services>
<!-- 每個服務的配置
屬性說明:
name - 指定這個service配置是針對的那個服務,為一個實現了某些Contract的服務類的完全限定名
(名稱空間.型別名),ServiceHost載入一個服務後,會到配置檔案中的<services>下找有沒有
name屬性跟服務匹配的<service>的配置
behaviorConfiguration - 指定在<serviceBehaviors>下的一個<behavior>的name,這個特定<behavior>
給這個service制定了一些行為,比如服務是否允許身份模擬-->
<service name="名稱空間.型別名" behaviorConfiguration="behavior名">
<!-- 每個服務可以有多個Endpoint,下面<endpoint>元素對每個Endpoint分別進行配置
屬性說明:
address - 指定這個Endpoint對外的URI,這個URI可以是個絕對地址,也可以是個相對於baseAddress的
相對地址。如果此屬性為空,則這個Endpoint的地址就是baseAddress
binding - 指定這個Endpoint使用的binding,這個banding可以是系統預定義的9個binding之一,
比如是basicHttpBinding,也可以是自定義的customBinding。binding決定了通訊的型別、
安全、如何編碼、是否基於session、是否基於事務等等
contract - 指定這個Endpoint對應的Contract的全限定名(名稱空間.型別名),這個Contract應該被
service元素的name指定的那個service實現
bindingConfiguration - 指定一個binding的配置名稱,跟<bindings>下面同類<binding>的name匹配
name - Endpoint的名稱,可選屬性,每個Contract都可以有多個Endpoint,但是每個Contract對應的
多個Endpoint名必須是唯一的-->
<endpoint address="URI" binding="basicHttpBinding" contract="Contract全限定名" bindingConfiguration="binding名" name="">
<!-- 使用者定義的xml元素集合,一般用作SOAP的header內容-->
<headers>
<!-- 任何xml內容 -->
</headers>
<identity>
<!-- <identity>下的元素都是可選的-->
<userPrincipalName></userPrincipalName>
<servicePrincipalName></servicePrincipalName>
<dns></dns>
<rsa></rsa>
<certificate encodedValue=""></certificate>
<!-- <certificateReference>的屬性都是可選的
屬性說明:
storeName - 證書的儲存區,可能值為:AddressBook,AuthRoot,CertificateAuthority
Disallowed,My,Root,TrustedPeople,TrustedPublisher
storeLocation - 證書儲存位置,可能值為:CurrentUser,LocalMachine-->
<certificateReference storeName="" storeLocation="">
</certificateReference>
</identity>
</endpoint>
<host>
<baseAddresses>
<!-- 在此可以定義每種傳輸協議的baseAddress,用於跟使用同樣傳輸協議Endpoint定義的相對地
址組成完整的地址,但是每種傳輸協議只能定義一個baseAddress。HTTP的baseAddress同時是service
對外發布後設資料的URL-->
<add baseAddress="http://address" />
</baseAddresses>
<timeouts></timeouts>
</host>
</service>
</services>
<bindings>
<!-- 指定一個或多個系統預定義的binding,比如<basicHttpBinding>,當然也可以指定自定義的customBinding,
然後在某個指定的binding下建立一個或多個配置,以便被Endpoint來使用這些配置 -->
<basicHttpBinding>
<!-- 某一類的binding的下面可能有多個配置,binding元素的name屬性標識某個binding-->
<binding name="binding名">
</binding>
</basicHttpBinding>
</bindings>
<!-- 定義service和Endpiont行為-->
<behaviors>
<!-- 定義service的行為-->
<serviceBehaviors>
<!-- 一個或多個系統提供的或定製的behavior元素
屬性說明:
name - 一個behavior唯一標識,<service>元素的behaviorConfiguration屬性指向這個name-->
<behavior name="">
<!-- 指定service後設資料釋出和相關資訊
屬性說明:
httpGetEnabled - bool型別的值,表示是否允許通過HTTP的get方法獲取sevice的WSDL後設資料
httpGetUrl - 如果httpGetEnabled為true,這個屬性指示使用哪個URL地址釋出服務的WSDL,
如果這個屬性沒有設定,則使用服務的HTTP型別的baseAddress後面加上?WSDL-->
<serviceMetadata httpGetEnabled="true" httpGetUrl="http://URI:port/address" />
</behavior>
</serviceBehaviors>
<!-- 定義Endpiont的行為-->
<endpointBehaviors>
</endpointBehaviors>
</behaviors>
<!-- 包含客戶端跟服務端連線使用到的Endpoint的配置 -->
<client>
<!-- 每個客戶端Endpoint設定
屬性說明:
address - 對應到服務端這個Endpoint的address
binding - 指定這個Endpoint使用的binding,這個banding可以是系統預定義的9個binding之一,
比如是basicHttpBinding
contract - 指定這個Endpoint對應的Contract的全限定名(名稱空間.型別名)
name - Endpoint的配置名,客戶端代理類的構造方法中的endpointConfigurationName對應到這個name
bindingConfiguration - 指定客戶端binding的具體設定,指向<bindings>元素下同型別binding的name -->
<endpoint address="URI"
binding="basicHttpBinding" bindingConfiguration="binding名"
contract="Contract全限定名" name="endpoint配置名" />
</client>
</system.ServiceModel>
</configuration>
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<!-- <system.ServiceModel> section -->
<system.ServiceModel>
<!-- services 元素包含應用中駐留的所有service的配置要求 -->
<services>
<!-- 每個服務的配置
屬性說明:
name - 指定這個service配置是針對的那個服務,為一個實現了某些Contract的服務類的完全限定名
(名稱空間.型別名),ServiceHost載入一個服務後,會到配置檔案中的<services>下找有沒有
name屬性跟服務匹配的<service>的配置
behaviorConfiguration - 指定在<serviceBehaviors>下的一個<behavior>的name,這個特定<behavior>
給這個service制定了一些行為,比如服務是否允許身份模擬-->
<service name="名稱空間.型別名" behaviorConfiguration="behavior名">
<!-- 每個服務可以有多個Endpoint,下面<endpoint>元素對每個Endpoint分別進行配置
屬性說明:
address - 指定這個Endpoint對外的URI,這個URI可以是個絕對地址,也可以是個相對於baseAddress的
相對地址。如果此屬性為空,則這個Endpoint的地址就是baseAddress
binding - 指定這個Endpoint使用的binding,這個banding可以是系統預定義的9個binding之一,
比如是basicHttpBinding,也可以是自定義的customBinding。binding決定了通訊的型別、
安全、如何編碼、是否基於session、是否基於事務等等
contract - 指定這個Endpoint對應的Contract的全限定名(名稱空間.型別名),這個Contract應該被
service元素的name指定的那個service實現
bindingConfiguration - 指定一個binding的配置名稱,跟<bindings>下面同類<binding>的name匹配
name - Endpoint的名稱,可選屬性,每個Contract都可以有多個Endpoint,但是每個Contract對應的
多個Endpoint名必須是唯一的-->
<endpoint address="URI" binding="basicHttpBinding" contract="Contract全限定名" bindingConfiguration="binding名" name="">
<!-- 使用者定義的xml元素集合,一般用作SOAP的header內容-->
<headers>
<!-- 任何xml內容 -->
</headers>
<identity>
<!-- <identity>下的元素都是可選的-->
<userPrincipalName></userPrincipalName>
<servicePrincipalName></servicePrincipalName>
<dns></dns>
<rsa></rsa>
<certificate encodedValue=""></certificate>
<!-- <certificateReference>的屬性都是可選的
屬性說明:
storeName - 證書的儲存區,可能值為:AddressBook,AuthRoot,CertificateAuthority
Disallowed,My,Root,TrustedPeople,TrustedPublisher
storeLocation - 證書儲存位置,可能值為:CurrentUser,LocalMachine-->
<certificateReference storeName="" storeLocation="">
</certificateReference>
</identity>
</endpoint>
<host>
<baseAddresses>
<!-- 在此可以定義每種傳輸協議的baseAddress,用於跟使用同樣傳輸協議Endpoint定義的相對地
址組成完整的地址,但是每種傳輸協議只能定義一個baseAddress。HTTP的baseAddress同時是service
對外發布後設資料的URL-->
<add baseAddress="http://address" />
</baseAddresses>
<timeouts></timeouts>
</host>
</service>
</services>
<bindings>
<!-- 指定一個或多個系統預定義的binding,比如<basicHttpBinding>,當然也可以指定自定義的customBinding,
然後在某個指定的binding下建立一個或多個配置,以便被Endpoint來使用這些配置 -->
<basicHttpBinding>
<!-- 某一類的binding的下面可能有多個配置,binding元素的name屬性標識某個binding-->
<binding name="binding名">
</binding>
</basicHttpBinding>
</bindings>
<!-- 定義service和Endpiont行為-->
<behaviors>
<!-- 定義service的行為-->
<serviceBehaviors>
<!-- 一個或多個系統提供的或定製的behavior元素
屬性說明:
name - 一個behavior唯一標識,<service>元素的behaviorConfiguration屬性指向這個name-->
<behavior name="">
<!-- 指定service後設資料釋出和相關資訊
屬性說明:
httpGetEnabled - bool型別的值,表示是否允許通過HTTP的get方法獲取sevice的WSDL後設資料
httpGetUrl - 如果httpGetEnabled為true,這個屬性指示使用哪個URL地址釋出服務的WSDL,
如果這個屬性沒有設定,則使用服務的HTTP型別的baseAddress後面加上?WSDL-->
<serviceMetadata httpGetEnabled="true" httpGetUrl="http://URI:port/address" />
</behavior>
</serviceBehaviors>
<!-- 定義Endpiont的行為-->
<endpointBehaviors>
</endpointBehaviors>
</behaviors>
<!-- 包含客戶端跟服務端連線使用到的Endpoint的配置 -->
<client>
<!-- 每個客戶端Endpoint設定
屬性說明:
address - 對應到服務端這個Endpoint的address
binding - 指定這個Endpoint使用的binding,這個banding可以是系統預定義的9個binding之一,
比如是basicHttpBinding
contract - 指定這個Endpoint對應的Contract的全限定名(名稱空間.型別名)
name - Endpoint的配置名,客戶端代理類的構造方法中的endpointConfigurationName對應到這個name
bindingConfiguration - 指定客戶端binding的具體設定,指向<bindings>元素下同型別binding的name -->
<endpoint address="URI"
binding="basicHttpBinding" bindingConfiguration="binding名"
contract="Contract全限定名" name="endpoint配置名" />
</client>
</system.ServiceModel>
</configuration>
相關文章
- WCF配置檔案詳解
- 一次搞懂WCF 配置檔案
- WCF中的web.config配置檔案Web
- 手動配置WCF宿主的.config檔案遇到的幾種錯誤
- wcf 配置與程式碼建立
- Git配置配置檔案Git
- 8.4.4 配置檔案
- vim配置檔案
- Maven配置檔案Maven
- 配置檔案vimrc
- MySQL配置檔案MySql
- shell配置檔案
- mysql 配置檔案MySql
- bash配置檔案
- pch檔案配置
- nginx配置檔案Nginx
- Nginx 配置檔案Nginx
- Maven 配置檔案Maven
- mongodb配置檔案常用配置項MongoDB
- apache 配置檔案的配置(轉)Apache
- 熱更新配置檔案
- 理解 Typescript 配置檔案TypeScript
- Git修改配置檔案Git
- 【Mongo】mongo配置檔案Go
- Nginx配置檔案解析Nginx
- redis配置檔案解析Redis
- EBS--配置檔案
- VSFTP配置檔案FTP
- 系統配置檔案
- MySQL Cluster 配置檔案MySql
- 何為配置檔案
- 四、nvim配置檔案
- ssm的配置檔案SSM
- gitignore 檔案配置Git
- 後端配置檔案後端
- C#配置檔案C#
- Golang 專案之配置檔案Golang
- Profile配置和載入配置檔案