首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >城堡WcfFacility -服务行为

城堡WcfFacility -服务行为
EN

Stack Overflow用户
提问于 2010-04-23 20:13:57
回答 2查看 1.7K关注 0票数 4

我如何使用城堡WcfFacility并让它使用标准的Wcf文件设置?

如果我像这样注册:

代码语言:javascript
复制
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}‘没有应用程序(非基础结构)终结点。

如果我不写:

代码语言:javascript
复制
.Configure(configurer => configurer.ActAs(new DefaultServiceModel()))

似乎配置中的行为被忽略了。

这里的正确用法是什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-04-26 15:25:01

好了,弄清楚了:)

我是这样注册的:

代码语言:javascript
复制
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中指定的名称相同的

票数 6
EN

Stack Overflow用户

发布于 2010-04-23 20:42:10

你就快到了。

你需要这样做:

代码语言:javascript
复制
.ActAs(new DefaultClientModel(WcfEndpoint.FromConfiguration( <<key In Configuration>> )));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2698342

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档