我有一个使用Castle Windsor(v3)的Dependecy Injection模式实现的.NET 4.0 WCF服务。该服务托管在IIS 7中,并且在本地运行时使用Visual Studio Development Server。我的开发人员服务器分配一个特定的端口到服务。为什么使用Castle Windsor实现的IIS托管的WCF服务需要基地址?
现在,如果我不添加基地址,我会从温莎城堡得到一个异常说:
找不到与绑定的WebHttpBinding端点符合计划http的基址。注册的基地址方案是[]。
但是,如果我确实使用与我的开发人员服务器相同的端口分配本地主机地址,则会发生端口冲突。
为什么在这种情况下我需要一个基地址,以及如何处理端口冲突?
这里是我的温莎堡相关的代码。该容器是在Global.asax.cs文件的Application_Start()中创建的。
public class ServiceInstaller : IWindsorInstaller
{
public void Install(IWindsorContainer container, IConfigurationStore store)
{
container.AddFacility<WcfFacility>()
.Register(Component.For<IMyService>().ImplementedBy<MyService>().AsWcfService<IMyService>().IsDefault()
);
}
}
此外,我不想承载多个服务,只有一个。