我有一个asp.net MVC网站,它通过Web服务与SQL数据库通信。在IIS中设置它一切正常。我最近通过将网站和Web服务作为Web应用程序发布,将整个解决方案迁移到Azure。在IIS下,网站的web.config使用以下命令连接到服务端点:
<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>
这两个网络应用程序无法通信。 我应该做些不同的事情,还是问题出在其他地方?
答案 0 :(得分:2)
如果你说WSDL看起来没问题,我建议的下一件事就是构建一个新的简单的Console应用程序来尝试与之交谈。在解决方案资源管理器中使用“添加服务引用”,并提供http://. azurewebsites.net/Services.svc URL。如果添加服务引用有问题,则会出现某种WSDL错误。但如果成功,您的项目将自动生成代码与该服务进行通信。 https://msdn.microsoft.com/en-us/library/bb386386.aspx的示例将逐步介绍。
如果Console应用程序成功与服务通信,请仔细查看生成的app.config,看它是否与现有配置文件不同。
Ron Cain MSFT