C# 它们是否对UPNP/WCF移植有任何附加要求?

C# 它们是否对UPNP/WCF移植有任何附加要求?,c#,wcf,tcp,port,upnp,C#,Wcf,Tcp,Port,Upnp,我使用API在NetGear DG834g路由器上使用UPNP打开端口,代码如下: public void UPNPOpenPort(int port) { Services lsServices; lsServices = Discovery.FindServices("urn:schemas-upnp-org:service:WANPPPConnection:1"); if (lsServices.Count > 0)

我使用API在NetGear DG834g路由器上使用UPNP打开端口,代码如下:

public void UPNPOpenPort(int port)
{
        Services lsServices;
        lsServices = Discovery.FindServices("urn:schemas-upnp-org:service:WANPPPConnection:1");

        if (lsServices.Count > 0)
            using (Service lsService = lsServices[0])
            {
                try
                {
                    object[] loObj = new object[] { "", port, "TCP", port, "10.0.0.100", true, "Custom Mapping", 0 };
                    lsService.InvokeAction("AddPortMapping", loObj);
                }
                catch (Exception loE)
                {
                    MessageBox.Show(
                        String.Format(
                            "{0}: HTTPSTATUS: {1}",
                            loE.Message,
                            lsService.LastTransportStatus));
                }


            }
        else
        {
            MessageBox.Show("Doh No Router Found");   
            return;
        }
}
我有一个服务主机,它有一个NetTCP绑定,具有相同的端口im馈送到子程序中以设置UPNP转发,并且我可以在路由器配置上看到一个活动的UPNP记录。我可以看到端口正在我的本地计算机上侦听,局域网上的其他PC可以连接到端口,但是使用在线端口检查器,它显示为关闭,即使路由器说它应该转发到正确的内部IP

有没有人有什么想法或者我遗漏了什么

致以最良好的祝愿


克里斯托弗·利奇是的。我在路由器上执行了工厂恢复,启用了UPnP,打开了服务主机并创建了转发。成功了

甚至特莱多也决定上网

从初学者的角度知道这并不总是你的代码(你的理解)的错误,这很好。有时这是你的硬件

谢谢

克里斯托弗·利奇