[英]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.