【问题标题】:wcf hosted in a windows service and httpbindingswcf 托管在 Windows 服务和 httpbindings 中
【发布时间】:2019-02-07 10:52:08
【问题描述】:

我正在研究托管在 Windows 服务中的 wcf。它就像一个魅力,但现在我需要为这个 wcf 保留一个特定的主机名,就像 IIS 一样。 更清楚地说,我托管的 wcf 在响应多个 dns 名称的 windows 服务器机器上运行,但我需要让 wcf 只能从这些 dns 之一访问。如果我使用的是 IIS,则可以通过在 http-bindings 设置中设置特定的主机名来实现,但不幸的是,我无法像那样管理我的 wcf。 据您所知,有没有办法为 IIS 之外的托管 wcf 保留特定主机名?

提前致谢!

【问题讨论】:

    标签: wcf windows-services wshttpbinding


    【解决方案1】:

    是的,您可以使用以下命令在内核级别(http.sys)注册 http 端点

    cmd:   ***netsh http add urlacl url=http://fqdn:port/urlpath user=serviceaccount***
    

    那么只有在那个特定的 dns/hostname 上,你的 http 服务才会监听。

    【讨论】:

    • 感谢您的回复,但也许我说错了。我需要为特定的托管 wcf 保留特定的 fqdn。如果我使用 urlacl 命令,我将限制对指定用户的访问,这不是我想要的。让我们举个例子。我有 3 个 DNS: - www.contoso.com - hello.contoso.com - wcf.contoso.com 我要做的是让 wcf 只能通过 wcf.contoso.com 访问。没有 IIS 可以吗?
    • 这就是上面命令的作用,用户帐户指定了您在哪个帐户上运行服务,也许您可​​以忽略(我不确定)。这甚至是 iis 在内部所做的,您可以使用相同的 netsh 命令 netsh http show servicestate 检查 iis 网站 url
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-13
    相关资源
    最近更新 更多