gpt4 book ai didi

wcf - 我是否需要 svc 文件来为非 HTTP 服务设置 CaSTLe Wcf 设施

转载 作者:行者123 更新时间:2023-12-04 15:26:04 25 4
gpt4 key购买 nike

我对城堡 wcf 设施注册感到困惑。

我阅读了一些关于 BasicHttpBinding 的博客文章。
但是找不到一个清晰的简单示例来设置 net.tcp 设置。

我想从控制台应用程序托管服务...

我写了这样的东西……你能看到这里有什么问题吗?

_container = new WindsorContainer();
_container.AddFacility<WcfFacility>();

_container.Register(Component.For<IMembershipService>().ImplementedBy<MembershipService>()
.AsWcfService(
new DefaultServiceModel()
.AddEndpoints(WcfEndpoint
.BoundTo(new NetTcpBinding() { PortSharingEnabled = false })
.At("net.tcp://localhost/MembershipService")
)
.PublishMetadata()
)
);

最佳答案

如果您希望发布元数据,您将需要启用端口共享(让 MEX 端点与常规 TCP 端口共享相同的端口 - 如果将此设置为 false,您将收到 AddressAlreadyInUse 异常)并且您可能需要指定URL 上的一个端口(不知道 TCP 会使用哪个端口),所以你的代码应该是(假设端口 8080 适合你):

_container.Register(Component.For<IMembershipService>().ImplementedBy<MembershipService>()
.AsWcfService(
new DefaultServiceModel()
.AddEndpoints(WcfEndpoint
.BoundTo(new NetTcpBinding() { PortSharingEnabled = true})
.At("net.tcp://localhost:8080/MembershipService")
)
.PublishMetadata()
)
);

使用城堡温莎 3.0 可以正常工作。

关于wcf - 我是否需要 svc 文件来为非 HTTP 服务设置 CaSTLe Wcf 设施,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8001866/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com