2015-06-16 207 views
2

我有一个通过Web服务与SQL数据库通信的asp.net MVC网站。当在IIS中设置它一切正常。我最近通过将网站和web服务发布为Web Apps将整个解决方案迁移到Azure。在IIS网站的web.config文件连接到使用服务端点:Azure网站连接到Azure服务

<client> 
<endpoint address="http://localhost:7070/Services.svc"binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ITrain" contract="ServiceReference1.ITrain" name="BasicHttpBinding_ITrain"/> 
</client> 

在Azure中我已经把它改为:

<client> 
<endpoint address="http://<sitename>.azurewebsites.net/Services.svc" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ITrain" contract="ServiceReference1.ITrain" name="BasicHttpBinding_ITrain" /> 
</client> 

两个Web应用程序不沟通。 我应该做一些不同的事情还是问题在别的地方?

+0

您确定设置了正确的服务吗?它不会尝试在错误的端口上收听? – Srgrn

+0

你检查过WSDL吗?可以吗? http:// .azurewebsites.net/Services.svc?wsdl –

+0

Thiago - WSDL显示合同中所有消息的正确列表。作为Azure的新手,我不确定如何测试该服务。你有什么想法?谢谢你的帮助。 – coderX

回答

2

如果你说WSDL看起来没问题,那么我建议的下一件事情就是构建一个新的简单控制台应用程序来尝试与之交谈。在解决方案资源管理器中使用添加服务引用并提供http://.azurewebsites.net/Services.svc URL。如果添加服务引用有问题,则会出现某种WSDL错误。但是,如果成功,您的项目将有自动生成的代码与该服务交谈。在https://msdn.microsoft.com/en-us/library/bb386386.aspx的例子会通过这个。

如果控制台应用程序成功地与服务通话,请仔细查看生成的app.config以查看它是否与现有配置文件不同。

Ron Cain MSFT