【问题标题】:Limit WCF service calls to local clients将 WCF 服务调用限制为本地客户端
【发布时间】:2014-11-27 12:19:51
【问题描述】:

我正在尝试打开 WCF 服务以供本地使用。

我似乎无法找到一种方法让它只在 localhost 上侦听(不允许远程连接到我的 WCF 主机)

这是一个示例代码:

var baseUri = new Uri("http://127.0.0.1:9001");
var webHost = new WebServiceHost(typeof(MyService), baseUri);
webHost.AddServiceEndpoint(typeof(MyService), new WebHttpBinding(), string.Empty);
webHost.Open();
Console.WriteLine("press any key to exit");
Console.ReadLine();

查看资源监视器显示它正在侦听“未指定的 ip”。

如何强制它只在本地主机上收听?

【问题讨论】:

    标签: c# .net wcf networking


    【解决方案1】:

    您可以将WebHttpBinding 上的HostNameComparisonMode 设置为Exact,这包括端点匹配中的主机名。

    HostnameComparisonMode 值指示在 URI 上匹配时是否使用主机名来访问服务。默认值为 StrongWildcard,忽略匹配中的主机名。

    但在这种情况下使用Named Pipes 更好。欲了解更多信息,请参阅msdn

    【讨论】:

    • 在本地场景中重新命名管道的好建议!
    猜你喜欢
    • 2011-09-10
    • 1970-01-01
    • 2012-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多