Address是什么?
Address通过一个Uri来唯一的标识一个WCF终节点(EndPoint),它标示了消息发送的目的地。在WCF数据通讯中,他解决了服务在哪里的问题。
Address的组成
Address在WCF中使用System.ServiceModel.EndpointAddress对象来表示的
- EndpointAddress
- Uri
- AddressHeader
- Identity
Uri:指示Endpoint的地址,是必须的;
Identity:能保持地址的唯一性,当Uri一致的时候,可以用Identity来区分EndPoint,可有可无
Header:为地址提供了一些附加信息,用于Soap Message Filter,最后会添加到Soap消息的Headerr中
此外Address中还包含IsAnonymous属性,用于指示终节点是否能匿名
如何在配置文件中指定Address?
//绝对地址
<host>
<baseAddresses>
<add baseAddress = "http://localhost:8731/" />
</baseAddresses>
</host>
<endpoint address ="http://localhost:8731/Service" binding="basicHttpBinding" contract="Wcf_Address_Config.IService1"> </endpoint>
//相对地址
<host>
<baseAddresses>
<add baseAddress = "http://localhost:8731/" />
</baseAddresses>
</host>
<endpoint address ="Service1" binding="basicHttpBinding" contract="Wcf_Address_Config.IService1"></endpoint>