将 WCF 服务调用限制为本地客户端
本文关键字:客户端 WCF 服务 调用 | 更新日期: 2023-09-27 18:32:18
我正在尝试打开WCF服务仅供本地使用。
我似乎找不到一种方法让它只在本地主机上侦听(不允许远程连接到我的 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"。
如何强制它仅在本地主机上侦听?
您可以将WebHttpBinding
上的主机名比较模式设置为 Exact
,这包括端点匹配中的主机名。
主机名比较模式值,该值指示在 URI 上匹配时是否使用主机名访问服务。默认值为强通配符,它将忽略匹配项中的主机名。
但是在这种情况下使用Named Pipes
更好。有关详细信息,请参阅 msdn。