【问题标题】:Service Fabric - how do I expose a wcf service externallyService Fabric - 如何在外部公开 wcf 服务
【发布时间】:2016-09-07 19:47:45
【问题描述】:

我已经查看了关于 azure service fabric 的 wcf 文档,但似乎仅有的示例显示了如何将其公开给其他结构服务。我想公开一个 wcf 端点,就像我想要一个休息端点一样,所以我可以将它映射到一个公共 IP 地址。

有什么想法吗?

【问题讨论】:

    标签: wcf azure-service-fabric


    【解决方案1】:

    我必须解决这个确切的场景。

    您根本不需要返回侦听器。您需要在“Service Manifest.xml”中打开一个端点。您在此处绑定 ssl 证书等(我假设您知道这部分)。

    <Endpoint Name="Test.WcfTypeEndpoint" Protocol="https" Type="Input" CertificateRef="MySSL" Port="44330"  />
    

    您现在可以打开服务主机,它会将请求路由到它们。打开服务时在绑定中使用强通配符 - 否则它不会在它最终所在的节点上解析。

    public class InternalBinding : Binding
    {
        private readonly HttpsTransportBindingElement _transport;
    
        public InternalBinding()
        {
             _transport = new HttpTransportBindingElement
             {
                 HostNameComparisonMode = HostNameComparisonMode.StrongWildcard,
                 // etc
             }
        }
    }
    

    【讨论】:

    • 很好奇为什么需要强通配符,因为它是系统提供的 WCF 绑定的默认值 - msdn.microsoft.com/en-us/library/…
    • 当我尝试不同的比较模式时,很可能会被留在里面。根据记忆,其他比较模式不起作用,所以我可能已经明确说明以节省其他人的实验时间。
    猜你喜欢
    • 2019-05-06
    • 2018-03-13
    • 2020-01-05
    • 1970-01-01
    • 2017-08-08
    • 1970-01-01
    • 2016-09-27
    • 2017-08-05
    • 2016-12-07
    相关资源
    最近更新 更多