c# - OWIN自托管如何提示防火墙异常?

标签 c# .net networking owin self-hosting

如何将自托管服务器与 OWIN 一起使用并提示防火墙异常(exception)?我正在从一个无法保证管理员权限的进程中运行这个自托管服务器,所以我不能仅以编程方式添加防火墙异常(exception)。

我做了一些搜索,有人建议使用 TCP 监听器来“伪造”端口绑定(bind)以导致发生防火墙异常提示:

IPAddress ip = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0];
IPEndPoint ipLocalEndPoint = new IPEndPoint(IPAddress.Any, 32454);

TcpListener t = new TcpListener(ipLocalEndPoint);
t.Start();
t.Stop();

这有效,Windows 防火墙提示出现在我可以允许我的程序添加到列表的地方,但是当我尝试从另一台机器访问它时,这似乎不足以允许从外部访问我的 OWIN 服务器当我按如下方式启动它时:

var server = Microsoft.Owin.Hosting.WebApp.Start<WebStartup("http://*:32454/);

请注意,我还使用 netsh 提前保留此 url 方案,以允许它从非管理员帐户正常工作。

无论 OWIN 做什么,似乎都超出了基于标准可执行文件的 Windows 防火墙异常(exception)。关于我做错了什么或如何正确执行此操作并让用户添加适用于 OWIN 的防火墙异常(exception)的任何想法?

最佳答案

一种解决方案是通过运行自己打开端口

netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80

使用命令行或以编程方式。

关于c# - OWIN自托管如何提示防火墙异常?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37348404/

相关文章:

c# - sqlite 只支持 1 个事务?

c# - 了解 Silverlight 调度程序

c# - ASP.NET MVC View 在产品环境中未返回

c# - WCF 服务代理未设置 "FieldSpecified"属性

java - 自动创建 VMware 快照

Java : Client-Server Simple Application with IP Blacklist

ios - 在哪里可以找到有关 iOS 应用程序中安全网络的教程?

c# - 隐藏已编译应用程序的可执行代码的做法

c# - 如何在 C++ 中像仿函数一样使用 C# 委托(delegate)?

.net - 暂停 GACUTIL.exe 列表