限制对本地客户端的WCF服务调用

时间:2014-11-27 12:19:52

标签: c# .net wcf networking

我正在尝试打开W​​CF服务仅供本地使用。

我似乎无法找到一种方法让它只在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"。

我如何强制它只在localhost上侦听?

1 个答案:

答案 0 :(得分:1)

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

  

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

但在这种情况下使用Named Pipes会更好。有关详细信息,请参阅msdn