2017-09-19 53 views
0

试图将ASP.Net代码第一个项目连接到Azure。在此阶段,随着项目的发布,它在线启动应用程序。我可以浏览页面,但是当我尝试创建新的动态页面时,它会给我一个错误。我的项目在当地正常工作。 我上传了使用Azure SDK的项目,并使用了来自azure的信息,例如服务器名称和连接字符串。那就是:将asp.net项目连接到azure数据库失败

<connectionStrings> 
    <add name="PhClub" connectionString="Server=tcp:phclub.database.windows.net,1433;Initial Catalog=PhClub;Persist Security Info=False;User ID=myloginname for azure;Password=******;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" /> 
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-PhClub-20170304023453.mdf;Initial Catalog=aspnet-PhClub-20170304023453;Integrated Security=True" providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

然而,有一件事缓存我的眼睛,但我不知道这意味着什么,以及如何解决它。在App_data文件夹中,我有两个数据库,但在发布窗口中,我看到其中三个: Publish window 正如您可以看到最后一个错误。 在这里它如何看起来在预览窗口: Preview window 寻找您的意见,因为这是我的第一个个人项目。先谢谢你!

+0

具体是什么错误? – mason

+0

错误。 处理您的请求时发生错误。这是我得到的所有页面 –

+0

你需要找出潜在的错误。使您的应用程序能够在浏览器中显示错误详细信息,或向您的应用程序添加适当的日志 – mason

回答

0

尝试在PhClub连接字符串的末尾添加providerName =“System.Data.SqlClient”。

+0

尝试您的建议。现在得到冲突。 –

+0

你可以发表一个例子吗? – Will

+0

我的登录名azure就像电子邮件,让我们说gmail。它给我错误,它无法打开登录请求的服务器Gmail ... –

0

尝试忽略\之前的@符号或将其加倍为@@。 因为用azure @分隔登录名@服务器。

另一种方法是在数据库中创建一个新的用户/登录名,该用户名不包含@并在连接字符串中使用此用户。

+0

您的意思是类似于\ [email protected] \? –

+0

不喜欢名称\ @ gmail.com或名称@@ gmail.com。我不知道它是否有效,但我从我的手机回答,并不能证明。 – Nikolaus

+0

@maxb我编辑了答案,因为我不知道它是否与连接字符串中的用户ID中的@一起使用。 – Nikolaus

0

如果我们在我们的web.config文件中创建<customErrors mode="Off"/>,那么我们可以看到详细的错误信息。我们可以得到关于how to troubleshoot a web app in Azure App Service using Visual Studio

更多信息,我们可以用以下2种方式进行调试:

1.确保为的DbContext ConnectionString中是蔚蓝的SQL的ConnectionString

2.确保SQL Azure的可能被天蓝色的服务访问(默认允许)。更多关于azure sql防火墙的信息请参考这个document

enter image description here

0

感谢您的所有答案。这似乎是问题是在连接字符串登录凭据,我删除了网络应用程序,服务器和数据库,再次用新的简单登录名重新创建它。更改连接字符串中的所有登录名和密码。这样我摆脱了错误。