2017-05-04 127 views
2

我是Azure新手。Azure無法連接到SQL Server

我通過 Get Started with Azure Cloud Services教程,可以在本地運行Contoso Ad應用程序。

當我將其推送到我的開發/測試Azure帳戶時,該應用程序無法看到數據庫。

你可以看到它住在這裏:My Dev/Test Azure instance running Contoso Ad App

我可以在本地運行SSMS並連接到我的數據庫:

enter image description here (這工作正常)

我也得加我家庭IP地址到防火牆規則:

enter image description here

問題:

  1. 有什麼辦法,我可以看到更多有關試圖連接到數據庫時Azure不喜歡?

  2. 我跟着教程一步一步,我確定我的連接字符串是正確的,特別是因爲我可以在家裏從SSMS連接。需要進行任何防火牆更改才能使Azure Web App看到Azure SQL Server數據庫?

非常感謝您提前!

+1

在本教程中,您可以鏈接到他們編寫的有關使用發行版.config文件的信息 - 您確定配置文件在執行發行版時不會更改嗎?看起來像連接到數據庫的連接超時,這可能是由無效的連接字符串引起的。 –

+0

@NicklasMøllerJepsen所以,來自Java背景,我沒有完全理解'Web.Release.config'文件,但是當我執行本地發佈版本時,轉到'ContosoAdsWeb \ bin \ ContosoAdsWeb.dll.config' ,我看到'' –

+0

@NicklasMøllerJepsen我找到了這篇文章:https://forums.asp.net/t/1532038.aspx。聽起來就像本地發佈目錄可能與發佈到Azure的內容不同。有什麼辦法可以看到Azure在發佈後有什麼嗎? –

回答

3

事實證明,這是我沒有完全理解如何

  • Web.Config
  • Web.Debug.Config
  • Web.Release.Config

互動。

我知道Web.Release.Config只能在Web/Azure發佈中修改,所以我沒有看到在本地<project>\bin\Release文件夾中反映的更改。

我還了解到,通過更改Web.Release.Config中的連接字符串名稱,導致它不匹配並轉換/覆蓋Web.Config中的值。

+1

很常見的誤解以及舊版ASP.NET配置系統的相當大的麻煩。即如果您只是在Debug模式下在IIS Express上運行它,則不會使用調試配置。幸運的是,ASP.NET Core中的配置文件總是根據環境使用。 – juunas

+0

@juunas謝謝。令我感到沮喪的是,我幾年來一直沒有完成.NET Web開發......我認爲當時ASP.NET MVC是新的,Web Forms是主要的框架。從那以後,它看起來有很多變化。 –