【问题标题】:WCF service called from compact framework从紧凑框架调用的 WCF 服务
【发布时间】:2011-01-27 17:51:46
【问题描述】:

我一直在尝试关注this 关于从移动设备与 WCF 服务进行通信的文章(使用紧凑框架 3.5)。我的服务在桌面上运行,它告诉我它正在运行:

http://localhost:1414/MyService.svc

我可以在我的客户端中看到这个,但是当我尝试访问它时,我得到了这个错误:

There was no endpoint listening at http://localhost:1414/MyService.svc that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.

所以我做到了:

InnerException: {"No connection could be made because the target machine actively refused it"}

我从模拟器中运行,文章指出该模拟器不起作用 - 因此我怀疑我遇到了同样的问题。所以我的问题是,有谁知道为什么会出现这个问题?

编辑:

澄清一下,这在部署到设备时可以正常工作。只是模拟器有问题。

编辑:

感谢@Shiraz Bhaiji,我现在在这方面取得了一些进展,但现在收到错误返回:

CFFaultException

这似乎是我能得到的唯一错误信息,它是由调用引起的:

MyServiceServiceClient client = new MyServiceServiceClient(binding, endpoint);    
returnString = client.MyFunc1();

我已更改端点以引用我的 IP。直接地址如下(此时我的PC上正在运行WCF服务):

Binding binding = MyServiceServiceClient.CreateDefaultBinding();
string remoteAddress = MyServiceServiceClient.EndpointAddress.Uri.ToString();
EndpointAddress endpoint = new EndpointAddress("http://1.1.1.1/MyService/MyService.svc");

【问题讨论】:

    标签: wcf compact-framework wcf-client


    【解决方案1】:

    在此链接上查看 Eric Sc​​hneider 的回答:http://social.msdn.microsoft.com/Forums/en/netfxcompact/thread/b5be4c83-40ca-423b-9068-8614779fed5f

    使用 IP 地址连接到服务器。

    【讨论】:

    • 我讨厌链接的答案。现在,上面列出的 MSDN 站点不再存在。我本可以在我的 Windows Mobile WCF 项目中使用这些信息。
    【解决方案2】:

    尝试将localhost 更改为您计算机的实际名称。

    【讨论】:

    • 另外,如果您在 Visual Studio 开发服务器中运行,请不要这样做。使用 IIS。
    • 为什么不用VS开发服务器?
    • 我尝试了这两个建议都没有成功。我可以使用标准 .net 客户端联系服务 - 它仅在导致问题的模拟器下运行 CF
    • 抱歉,我实际上没有注意到您问题中的“模拟器”一词。 Windows Mobile 模拟器的网络连接很糟糕。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-29
    • 1970-01-01
    • 1970-01-01
    • 2011-03-09
    相关资源
    最近更新 更多