将 WCF 连接到 Xamarin.Android 项目时出现连接被拒绝错误

Posted

技术标签:

【中文标题】将 WCF 连接到 Xamarin.Android 项目时出现连接被拒绝错误【英文标题】:Connection refused error when connecting a WCF to a Xamarin.Android project 【发布时间】:2019-01-12 22:40:06 【问题描述】:

所以我是 Xamarin 和 WCF 的新手。但是,这不会阻止我使用这些新技术!无论如何,我从本教程开始: https://docs.microsoft.com/en-us/xamarin/cross-platform/data-cloud/web-services/walkthrough-working-with-wcf

我一步一步地跟着它没有用(构建项目时出现许多错误)。然后我决定将示例代码用于此处提供的相同教程: https://developer.xamarin.com/samples/mobile/WCF-Walkthrough/

(点击右上角的下载)。

运行此项目(android 部分)时,我收到错误“连接被拒绝”。我猜这是即使没有找到 WCF 也会出现的一般错误消息(因为我更改了配置以测试该理论)。

谁能帮我解决这个错误?

其他注意事项:

我已关闭防火墙(以防万一)。 根据教程,我做了所有的 IIS 更改。我还对 application.config 文件进行了更改,使其包含我的 IP 地址。 我已经坚持了3天了。 解决这个错误非常有用,因为使用该教程的任何其他人也可以实际使项目正常运行。

提前致谢!

【问题讨论】:

那么你是从实际设备还是模拟器上绑定这个 你能从 WctTestClient 连接到你的 WCF 端点吗 我正在使用模拟器。是的,我可以从 WcfTestClient 连接到 WCF 端点(通过选择 HelloWorldService 作为启动项目,我还可以运行和测试 WCF,它可以工作) 【参考方案1】:

当你使用模拟器时,你不能只参考LocalHostLocalhost 是指运行代码的设备,在本例中是模拟器。

如果要引用运行Android模拟器的计算机,请改用IP地址10.0.2.2

更多信息在这里

Set up Android Emulator networking

【讨论】:

感谢您的回答。我在三个地方(app.config、applicationhost.config 和 MainActivity.cs)进行了更改。我现在收到一条新的错误消息,实际上得到不同的结果令人欣慰。新错误是:反序列化操作“SayHelloTo”的请求消息正文时出错。 OperationFormatter 遇到无效的消息正文。预计会找到名称为“SayHelloTo”和命名空间“tempuri.org”的节点类型“元素”。找到名称为“SayHelloToAsync”和命名空间“tempuri.org”的节点类型“元素” @james,我可以建议用新错误提出一个新问题,否则我们可能整天都在追这个问题,除非您认为它与上述答案不起作用 会的。再次感谢。 出于最终目的,这就是解决方案!我只需要使用 svcutil.exe 来重新创建references.cs 文件。如何将您的答案标记为正确答案并“关闭”此问题? @JamesCarter 点赞,然后点击任务旁边的勾,很高兴它成功了

以上是关于将 WCF 连接到 Xamarin.Android 项目时出现连接被拒绝错误的主要内容,如果未能解决你的问题,请参考以下文章

通过USB连接到Xamarin.Android应用程序与网站进行通信

无法使用 C# 从 Xamarin.iOs 和 Xamarin.Android 连接到 MySql

用Xamarin.Android配合vs2010开发安卓程序如何连接到实体机?

Xamarin Android 使用 Asp.Net core web api 连接到 Azure Notification Hub [关闭]

Xamarin Android 问题通过 HTTPS 连接到具有自签名证书的站点:“未找到证书路径的信任锚。”

从 Xamarin Android 应用程序崩溃将大文件上传到 WCF