0


我想WCF serviceMobile Servicein访问Windows Azure。为此,我使用Service Bus Relay配置了凭据的连接来调用WCF service.

当我Mobile Service在本地机器上发布它时,我可以WCF service毫无问题地调用。

但是当我Mobile Service在 Azure 上发布它时,尝试访问它时会出现以下错误。IService1 是 WCF 服务的合同。我使用此合同在移动服务的 Web.Config 文件中定义了端点。

你能帮我解决这个问题吗?

Exception=System.InvalidOperationException:在 ServiceModel 客户端配置部分中找不到引用合同“ServiceReference1.IService1”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素。

编辑: 在进一步调查此问题后,我发现通过添加服务引用生成的代理类在我们将其托管在云中时并没有获取 Web.config 中定义的端点定义。但是,当服务在我机器的 azure 模拟器上运行时,它会从 Web.config 中获取端点定义。

因此,为了解决这个问题,我必须以编程方式定义端点并使用 ChannelFactory 类来调用 WCF 服务。

关于为什么移动服务无法在云中读取 Web.config 的任何想法?

4

1 回答 1

2

您可以在 .NET 后端项目的 Web.config 文件的 appSettings 部分中将应用设置设置为键/值对。在本地计算机上测试 .NET 后端项目时使用这些值。在 Azure 中运行时,这些值将被忽略,而是使用门户设置。

http://msdn.microsoft.com/en-us/library/azure/dn529070.aspx

所以我想移动服务中的 .config 文件有一些特别之处,但我不知道更多。以编程方式初始化 WCF 是一个很好的解决方案。

于 2014-11-28T08:23:38.640 回答