2015-06-16 208 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