将 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"。

如何强制它仅在本地主机上侦听?

将 WCF 服务调用限制为本地客户端

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

主机名比较模式值,该值指示在 URI 上匹配时是否使用主机名访问服务。默认值为强通配符,它将忽略匹配项中的主机名。

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