2016-09-30 91 views
1

我最近使用visual studio express構建了一個應用程序。這個應用程序是使用VS express提供的本地DB構建的。我現在已經訂閱(免費試用)Microsoft Azure。爲了將我的項目指向新創建的Azure DB,需要對我的項目進行哪些更改?我有兩個web.config文件。我應該使用哪一個?

我也注意到我有2個web.config文件。一個在根目錄中,另一個在視圖文件夾中。

我相信我必須更新我的連接字符串,但在特定的配置文件或兩者?

這裏是我的根目錄下的web.config連接字符串:

<connectionStrings> 
<add name="DefaultConnection" connectionString="Data Source= LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-MvcMovie-20160922101748.mdf;Initial Catalog=aspnet-MvcMovie-20160922101748;Integrated Security=True" 
    providerName="System.Data.SqlClient" /> 
<add name="MovieDBContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/> 

和我(的意見)web.config中的連接字符串:

<connectionStrings> 
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-MvcMovie-20130603030321.mdf;Initial Catalog=aspnet-MvcMovie-20130603030321;Integrated Security=True" providerName="System.Data.SqlClient" /> 
<add name="MovieDBContext" connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Movies.mdf;Integrated Security=True" 
providerName="System.Data.SqlClient"/> 

任何幫助將不勝感激。

回答

0

我相信只有一個連接字符串的web.config應該足夠了。保持一個在根。

從Azure門戶下載Azure數據庫連接字符串,並使用Azure數據庫連接字符串替換web.config文件中的connectionString值。

您可能還需要在Azure門戶中將您計算機的IP地址列入白名單,以允許連接到Azure DB。

+0

謝謝。按照您的建議,我已經用Azure門戶連接字符串替換了本地連接字符串。除了從我的數據庫插入和檢索數據的頁面(我假定它參考我的視圖文件夾中的配置文件)之外,所有頁面都可以查看 - 嘗試訪問特定頁面時出現以下錯誤:http:// mediastream.azurewebsites.net/Movies無法加載資源:服務器響應狀態爲500(內部服務器錯誤) – D0uble0

+0

如果我理解正確,我現在有2個數據庫。包含從我的網頁存儲條目的表的mylocalDB和包含我的Azure數據庫包含我的整個項目? – D0uble0

+0

首先,嘗試註釋掉本地連接字符串。其次,嘗試在頁面中調試控制器的操作,以獲得異常 - 異常應包含有關您遇到的問題的更多詳細信息。如果你可以發佈完整的例外,我可以幫你解決。 – Ignas

0

您只需要更改根文件夾中的web.config,就像應用程序使用的那樣。

你說得對,你需要將連接字符串指向你的Azure數據庫。

0

您絕對只需要使用連接字符串更新應用程序根目錄中的一個web.config。視圖文件夾中的其他web.config對於您的視圖使用html助手以及在mvc應用程序中按照您的期望進行路由工作是必需的,因此不要刪除它。