在这篇文章中我们将会继续对WCF的一些核心技术做一个详细的阐述。今天大家将会了解到的是有关WCF端点配置的一些管理方法,对此又需要的朋友可以通过我们介绍的内容充分掌握这一应用技术。
在进行WCF端点配置的管理时请考虑下列服务定义:
- namespace MyNamespace
- {
- [ServiceContract]
- interface IMyContract
- {...}
- Class MyService : IMyContract
- {...}
- }
管理WCF端点配置是在大多数情况下的配置,因为它提供灵活性来实现改变服务地址、绑定甚至暴露合同而不必重新构建和重新发布服务。
注意,这些端点必须提供一个与绑定相一致的基地址(例如,对于HTTP使用 WSHttpBinding绑定)。每一个不匹配都会导致在服务加载时刻抛出一个异常。只要URI是不同的,那么你可以使用相同的基地址来配置多个端点:
- <service name="MyNamespace.MyService">
- <endpoint Address =
- "net.tcp://localhost:8001/Service1/"
- ...
- />
- <endpoint
- address="net.tcp://localhost:8001/Service2/"
- ...
- />
- </service>
还可以省略地址-在这种情况下,该服务使用与宿主一起注册的基地址(宿主必须提供一个匹配的基地址):
- <endpoint
- binding="wsHttpBinding"
- contract="MyNamespace.IMyContract"
- />
可以仅提供一个URI-在这种情况下,地址是在基地址下的相对地址(并且宿主必须提供一个匹配的基地址):
- <endpoint
- address="SubAddress"
- ...
- />
当提供一个基地址时,该端点覆盖宿主所提供的任何基地址:
- <endpoint
- address="http://localhost:8000/MyService/"
- ...
- />
注意,当在进行WCF端点配置时使用IIS进行宿主时,服务必须使用IIS基地址(在HTTP中使用计算机名+虚拟目录)。
【编辑推荐】