我正在编写一个具有桌面和移动应用程序组件的应用程序。桌面应用程序是用 c# 编写的,我希望能够打开它以充当移动应用程序的服务器(类似于 AirVideo 所做的)。我怎样才能在不要求用户配置他们的防火墙和/或路由器的情况下做到这一点?
理想情况下,我想在桌面应用程序中自行托管一个宁静的 wcf 服务。我已经尝试过了,但是防火墙的自动配置不允许远程连接到 wcf 服务,因为它似乎是由系统进程托管的。这种行为有解决方法吗?
编辑:我已经通过使用 NATUPnP COM 库(http://pietschsoft.com/post/2009/02/05/NET-Framework-Communicate-through-NAT-Router-)尽我所能解决了路由器问题通过-UPnP.aspx)。我仍然需要知道如何允许通过防火墙远程连接到自托管 WCF 服务,而无需手动配置防火墙(一旦启动应用程序,我可以接受用户提示允许连接)。