2013-01-05 104 views
0

我正在編寫一個包含Windows RT(Windows應用商店應用程序)的移動應用程序的WCF解決方案。遠程調試WCF客戶端應用程序 - 無法連接到主機

移動應用程序工作正常,當我從開發機器運行WCF主機運行在同一臺機器上。我試圖通過遠程調試在我的MS Surface RT上進行測試。這開始工作。該應用程序並開始在表面上,但只要我做了什麼,需要它來訪問WCF主機(這是在開發機器上運行),我得到以下異常:

System.ServiceModel.EndpointNotFoundException was unhandled 
Message: An unhandled exception of type 'System.ServiceModel.EndpointNotFoundException' occurred in mscorlib.dll 
Additional information: There was no endpoint listening at http://192.168.0.101:8000/Service1 that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details. 

沒有內例外。 192.168.0.101是開發機器的靜態IP地址。

在開發機器上禁用Windows防火牆,並且其上沒有其他防火牆。我能夠從Surface上ping相同的IP地址,所以我知道它可以看到開發機器。

再說一次,當移動應用程序與WCF主機一起在開發機器上運行時,這種做法很好。所以,我不確定問題是什麼。

這裏就是在主機創建端點的代碼:

ServiceHost hostA = null; 

    try 
    { 
     hostA = new ServiceHost(typeof(Service1), new Uri("http://192.168.0.101:8000")); 
     hostA.AddServiceEndpoint(typeof(IService1), new BasicHttpBinding(), "Service1"); 

     hostA.Open(); 

     Console.WriteLine(); 
     Console.WriteLine("Host started. Press Enter to terminate host."); 
     Console.ReadLine(); 

    } 
    finally 
    { 
     if (hostA.State == CommunicationState.Faulted) 
      hostA.Abort(); 
     else 
      hostA.Close(); 
    } 

並在客戶端:

var myBinding = new BasicHttpBinding(); 
    var myEndpoint = new EndpointAddress("http://192.168.0.101:8000/Service1"); 
    var myChannelFactory = new ChannelFactory<ToOrson.IService1>(myBinding, myEndpoint); 

    MyService = myChannelFactory.CreateChannel(); 

還有什麼問題呢?

回答

0

您是否在應用程序清單中啓用了Private Networks (Client & Server)功能?

<Capabilities> 
    <Capability Name="privateNetworkClientServer" /> 
</Capabilities> 
+0

謝謝。這可能是。我沒有啓用。我本週不在這個城市,沒有專門的網絡來測試它,但我會在下週末測試它,並告訴你它是否有效。 – JoeMjr2

+0

好吧,我想出瞭如何在筆記本電腦上創建一個私人託管的無線網絡。添加privateNetworkClientServer功能的工作!謝謝! – JoeMjr2

相關問題