我有一个Controller,它有一个从数据库中获取数据的方法。该网站在本地工作正常,但在将其作为Azure网站发布,并在webbrowser中输入方法网址时,我收到错误:
无法加载资源:服务器响应状态为500(内部服务器错误)
为什么我会收到此错误?
这是我在控制器中的方法:
public string GetUser(int id){
User user = new User();
SqlConnection conn = new SqlConnection(getDbString());
SqlCommand cmd = new SqlCommand();
SqlDataReader reader;
cmd.Connection = conn;
cmd.CommandText = "SELECT * from dbo.[USER] WHERE UserID='" + id + "'";
conn.Open();
reader = cmd.ExecuteReader();
while (reader.Read())
{
user.username = (reader["Username"].ToString());
user.password = (reader["Password"].ToString());
UserList.Add(user);
}
conn.Close();
return UserList;
}
我非常确定 conn.Open();
时会发生错误这就是我获取ConnectionString的方式:
private string getDbString()
{
if (rootWebConfig.ConnectionStrings.ConnectionStrings.Count > 0)
{
connString =
rootWebConfig.ConnectionStrings.ConnectionStrings["myConnectionString"];
}
return connString.ToString();
}
这是connectionStrings标记中的Web.config中的connectionString:
<add name="myConnectionString" connectionString="Data Source=tcp:xxx;Database = myDatabase;Persist Security Info=True;User ID=xxx@xxx;Password=xxx"
providerName="System.Data.SqlClient" />
答案 0 :(得分:0)
我发现了什么问题,我不得不将Azure网页链接到SQL数据库服务器... ^^