防火墙中的入站规则仅适用于管理员权限

Inbound rule in firewall only works with Admin privileges

我正在尝试在本地 wifi 网络上托管一个带有 WPF 的网络服务器,并公开一个网络服务,另一台设备(在我的例子中,Android)可以在连接到同一个 wifi 网络时调用该网络服务。我在防火墙上为我正在使用的端口创建了入站规则。仅当使用 "Run as Administrator" 启动 windows 应用程序时,网络服务调用才会通过 有没有办法我可以在没有管理员权限的情况下做同样的事情? 这是我的代码 -

public class SelfHost
{
    WebServiceHost Host;
    public void HostServer()
    {
        var hostIPadd = Util.GetLocalHostIP(); //This returns something like "http://192.168.1.2" 
        Values.SERVER_PORT_VALUE = "55000";

        var uri = new Uri(hostIPadd + ":" + Values.SERVER_PORT_VALUE);

        Host = new WebServiceHost(new Service{...}, uri);

        //Start host
        ServiceEndpoint ep = Host.AddServiceEndpoint(typeof(IService), new WebHttpBinding(), "");
        Host.Open();
    }
}


public partial class MyWindow : Window
{

    public MyWindow()
    {
        InitializeComponent();
        StartHost();
    }

     private void StartHost()
    {
        var host = new SelfHost();

        var thServer = new System.Threading.Thread(host.HostServer);
        thServer.IsBackground = true;
        thServer.Start();
    }
}

我已经在防火墙中创建了具有这些属性的入站规则
协议类型 - TCP
本地端口 - 特定端口 - 55000
个人资料 - Public
行动 - "Allow the connection"
计划 - "All programs that meet the specified conditions"

我不太清楚为什么如果应用程序不在管理中 运行,防火墙会忽略此异常。 WebServiceHost 对象运行良好,即使它不在管理模式下,也没有错误。 但是 web 服务调用永远不会到达服务器并且请求超时。

与防火墙无关,您无法在 wpf 应用程序中打开 http link - 出于安全原因

see that