2011-02-10 130 views
4

我有一个C#服务应用程序需要由xml-rpc客户端从外部访问。它通过HttpListenerRequest自行托管;没有IIS托管。 (不能要求服务器启用IIS)为Windows服务打开防火墙

当服务器防火墙关闭或应用程序使用的端口已打开时,它可以从客户端正常工作。但是,如果我通过名称创建防火墙例外来启用应用程序,它无法从客户端PC访问。 (我试过手动启用该服务并添加代码以从我的安装程序启用该应用程序。)

我希望启用该应用程序的原因;而不是港口是港口可能会改变。 (我的应用程序将检查可用端口的范围,以避免默认端口正在使用)。从环顾四周可以看出,任何不完全“自托管”的服务都不能启用防火墙。

有没有人知道这个解决方法?

回答

0

不知道语法的,但我认为你必须使用netsh像这样的东西:

netsh http add urlacl url=http://www.contoso.com:80/MyUri user=DOMAINE\utilisateur listen=yes 
+0

这将给该程序允许保留的端口,并开始听就可以了。他已经拥有完全运行和倾听的服务。防火墙阻止对服务的传入请求。 – Despertar 2012-03-25 22:42:21