【发布时间】:2021-02-02 17:15:20
【问题描述】:
我在 Azure 中总是有一个工作版本,但不知何故它不再工作了,我复制了数据库并创建了新的连接。当我在 localhost 中运行时一切正常,但是当我发布时它不再起作用,除非我删除 REST 的分析部分
这是我得到的:
// GET PROGRAM (IF EXIST)
[Route("api/Program/{ProgramCode}/{id_user}/{id_client}")]
public object GetProgramSettingsFromFile(string ProgramCode, string id_user, int id_client)
{
AnalyticsUser newEntry = new AnalyticsUser
{
id_user = id_user,
ProgramCode = ProgramCode,
DateTime = DateTime.Now,
id_client = id_client
};
db.AnalyticsUsers.Add(newEntry);
db.SaveChanges();
string secondPart = "api/program/" + ProgramCode + ".json";
var allText = (new WebClient()).DownloadString(uriPath + secondPart);
object jsonObject = JsonConvert.DeserializeObject(allText);
return jsonObject;
}
以上内容在本地主机上运行良好,但在发布时不起作用。错误 500 内部服务器错误。所以当我像这样逃避分析部分时:
// GET PROGRAM (IF EXIST)
[Route("api/Program/{ProgramCode}/{id_user}/{id_client}")]
public object GetProgramSettingsFromFile(string ProgramCode, string id_user, int id_client)
{
//AnalyticsUser newEntry = new AnalyticsUser
//{
// id_user = id_user,
// ProgramCode = ProgramCode,
// DateTime = DateTime.Now,
// id_client = id_client
//};
//db.AnalyticsUsers.Add(newEntry);
//db.SaveChanges();
string secondPart = "api/program/" + ProgramCode + ".json";
var allText = (new WebClient()).DownloadString(uriPath + secondPart);
object jsonObject = JsonConvert.DeserializeObject(allText);
return jsonObject;
}
它在 localhost 和已发布时运行良好。那么这里发生了什么?我似乎无法在本地复制错误,因为它一切正常。有什么想法吗?
【问题讨论】:
-
你的数据库初始化了吗?问题不在于休息呼叫,而是将数据保存到您的数据库。检查 connectionString 并查看它是否设置正确并可以访问数据库服务器
-
500 表示你有异常,可能是连接字符串。