我想从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的任何想法吗?
答案 0 :(得分:2)
您可以在.NET后端项目的Web.config文件的appSettings部分中将应用设置设置为键/值对。在本地计算机上测试.NET后端项目时使用这些值。在Azure中运行时,将忽略这些值,并使用门户网站设置。
http://msdn.microsoft.com/en-us/library/azure/dn529070.aspx
所以我猜移动服务中的.config文件有一些特别之处,但我不知道更多。正确初始化WCF程序是一个很好的解决方案。