我如何使用城堡WcfFacility并让它使用标准的Wcf文件设置?
如果我像这样注册:
container.Register(
AllTypes.Pick()
.FromAssemblyNamed("{ServicesAssembly}") // <-- service assembly here
.If(type => type.Name.EndsWith("Service"))
.WithService.FirstInterface()
.Configure(configurer => configurer.LifeStyle.Transient)
.Configure(configurer => configurer.Named(configurer.Implementation.Name))
.Configure(configurer => configurer.ActAs(new DefaultServiceModel()))
);我收到以下错误:
服务'{name}‘没有应用程序(非基础结构)终结点。
如果我不写:
.Configure(configurer => configurer.ActAs(new DefaultServiceModel()))似乎配置中的行为被忽略了。
这里的正确用法是什么?
发布于 2010-04-26 15:25:01
好了,弄清楚了:)
我是这样注册的:
container.Register(
AllTypes.Pick()
.FromAssemblyNamed("{ServicesAssembly}") // <-- service assembly here
.If(type => type.Name.EndsWith("Service"))
.WithService.FirstInterface()
.Configure(configurer => configurer.LifeStyle.Transient)
.Configure(configurer => configurer.Named(configurer.Implementation.Name))
.Configure(configurer => configurer.ActAs(new DefaultServiceModel().Hosted()))
);WCF ()是为了表明我正在托管这些服务;否则,似乎WCF Facility将尝试托管它们,从而导致端口冲突。
因此,问题在于配置文件中服务的名称将设置为实现的完整类型名称。如果未定义,则会收到一条错误消息,指出未定义端点。因此,服务名称是,而不是与在windsor中指定的名称相同的。
发布于 2010-04-23 20:42:10
你就快到了。
你需要这样做:
.ActAs(new DefaultClientModel(WcfEndpoint.FromConfiguration( <<key In Configuration>> )));https://stackoverflow.com/questions/2698342
复制相似问题