无法从Azure中的移动服务访问WCF服务

时间:2014-11-27 06:00:20

标签: azure azure-mobile-services servicebus azureservicebus azure-servicebusrelay


我想从WCF service的{​​{1}}访问Mobile Service。为此,我使用Windows Azure连接配置了凭据来调用Service Bus Relay

当我在本地计算机上发布此WCF service时,我可以毫无问题地致电Mobile Service

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

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

  

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

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

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

有关移动服务无法在云中读取Web.config的任何想法吗?

1 个答案:

答案 0 :(得分:2)

  

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

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

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