我正在尝试打开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"。
我如何强制它只在localhost上侦听?
答案 0 :(得分:1)
您可以将WebHttpBinding
上的HostNameComparisonMode设置为Exact
,其中包括端点匹配中的主机名。
HostnameComparisonMode值,指示在匹配URI时是否使用主机名来访问服务。默认值为StrongWildcard,它忽略匹配中的主机名。
但在这种情况下使用Named Pipes
会更好。有关详细信息,请参阅msdn。