繁体   English   中英

无法从Windows Mobile 6模拟器连接到WCF服务

[英]Can not connect to a WCF service from a Windows Mobile 6 emulator

我有一个WCF服务应用程序。 VS2008中带有.NET Framework 3.5的Windows Mobile 6应用程序。

我使用各种.NET Framework(3、4等)创建了多个版本的WCF服务。 在VS2012中。

我将它们托管在本地IIS 7下。我可以通过WCF测试客户端成功连接并运行服务方法。 一切似乎都还可以。

我使用“添加-> Web参考”(都使用localhost和127.0.0.1)添加服务,并尝试从移动应用程序连接。

无论我使用哪个版本的服务,我都会不断遇到以下错误

Exception   : System.Net.WebException
Message     : Unable to connect to the remote server.
Stack Trace : 
              at System.Net.HttpWebRequest.finishGetResponse()
              at System.Net.HttpWebRequest.GetResponse()
              at System.Web.Services.Protocols.WebClientProtocol.GetWebResponse(WebRequest request)
              at System.Web.Services.Protocols.HttpWebClientProtocol.GetWebResponse(WebRequest request)
              at System.Web.Services.Protocols.SoapHttpClientProtocol.doInvoke(String methodName, Object[] parameters, WebClientAsyncResult asyncResult)
              at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
              at testWcfMobileClient.svc3.Service1.Test(Boolean& TestResult, Boolean& TestResultSpecified)
              at testWcfMobileClient.Form1.Form1_Load(Object sender, EventArgs e)
              at System.Windows.Forms.Form.OnLoad(EventArgs e)
              at System.Windows.Forms.Form._SetVisibleNotify(Boolean fVis)
              at System.Windows.Forms.Control.set_Visible(Boolean value)
              at System.Windows.Forms.Application.Run(Form fm)
              at testWcfMobileClient.Program.Main()

Inner Exception : 
Exception   : System.Net.Sockets.SocketException
Message     : No connection could be made because the target machine actively refused it
Stack Trace : 
              at System.Net.Sockets.Socket.ConnectNoCheck(EndPoint remoteEP)
              at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
              at System.Net.Connection.doConnect(IPEndPoint ep)
              at System.Net.Connection.connect(Object ignored)
              at System.Threading.ThreadPool.WorkItem.doWork(Object o)
              at System.Threading.Timer.ring()

我找不到解决问题的方法,我们将为您提供任何帮助。

问候。

更新信息(24.03.2014)

从那时起,我一直在研究这个问题,我想提供更多信息。

我有两个服务器,分别为SRV01和SRV02,它们也托管其他几个网站。

我将服务应用程序部署到两个服务器,问题是:

SRV01响应正常,没有问题,确认模拟器网络设置没有问题。

但是,SRV02仍然抛出相同的异常。 这里的尴尬情况是SRV02还托管其他目前运行平稳的服务。

我正在比较IIS设置,应用程序设置,machine.config文件和web.config文件,并且所有内容似乎都相同。

还有另一件事是SRV02在我的建筑物和网络中,而SRV01在同一域中是远程的。 我可能应该更轻松地使用SRV02,但是目前的情况反之亦然。

我终于在某个帖子中找到了答案,很遗憾,我不记得该地址了。

我要做的就是将“ localhost”替换为我的PC的IP地址。

据我所记得的答案,在帖子中确实存在令人满意的解释,原因是“本地主机”是指仿真器本身,应用程序应将托管服务的计算机指向另一台计算机,而不是仿真器本身。 。

“无法建立连接,因为目标机器主动拒绝了它”,通常意味着使用端口设置无法达到目标。 首先检查端口设置。 检查目标IP地址。 检查防火墙。 (SQL)服务器是否支持TCP / IP?

验证您可以使用ping(例如,使用Cambridge vxUtils)进行连接。 验证模拟器中是否有网络地址。

要在仿真器中获得TCP / IP连接,您必须具有仿真的网卡(很难在Windows 8上使用,但无法通过AFAIK运行)或“仿真”设备的“停靠”并将WMDC连接设置设置为“此计算机”。已连接到Internet”并允许数据连接(称为ActiveSync Passthru连接)。 仿真器通常不会停靠您的仿真设备。 VS使用DMA远程调试应用程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM