2016-09-30 92 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应用程序中按照您的期望进行路由工作是必需的,因此不要删除它。