簡體   English   中英

防火牆中的入站規則僅具有管理員權限

[英]Inbound rule in firewall only works with Admin privileges

我正在嘗試在本地wifi網絡上托管帶有WPF的網絡服務器,並公開一個網絡服務,連接到同一wifi網絡時,另一台設備(在我的情況下為Android)可以調用該服務。 我在防火牆上為正在使用的端口創建了入站規則。 僅當使用“以管理員身份運行”啟動Windows應用程序時,webservice調用才能通過。是否可以在沒有管理員特權的情況下執行相同的操作? 這是我的代碼-

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
個人資料-公開
行動-“允許連接”
程序-“符合指定條件的所有程序”

我不太清楚如果應用程序未在Admin中運行,為什么防火牆會忽略此異常。 即使WebServiceHost對象不在Admin模式下,它也可以正常運行,沒有錯誤。 但是,Web服務調用永遠不會到達服務器,並且請求超時。

與防火牆無關,出於安全原因,您無法在wpf應用中打開http鏈接

看到

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM