
[英]ASP.NET Core webapp Azure deployment with reference to class library project
[英]ASP.NET Core MVC webapp error after Azure deployment
我使用 CRUD 在 ASP.NET Core MVC 中编写了一个应用程序以部署到 Azure,首先使用代码。 我跟着这个教程: https : //docs.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-dotnet-sqldatabase
该教程有点过时,但我相信我正确地遵循了它。 我还尝试按照示例应用程序的教程进行操作,但遇到了同样的问题。 我可以提供一张图片,但错误页面的描述性不是很强。 它说:
错误:处理您的请求时发生错误。
请求 ID:|bac57a49-4ca7848aebbdb3cb。
开发模式
切换到开发环境将显示有关发生的错误的更多详细信息。不应为已部署的应用程序启用开发环境。 它可能导致向最终用户显示来自异常的敏感信息。 对于本地调试,通过将 ASPNETCORE_ENVIRONMENT 环境变量设置为 Development 并重新启动应用程序来启用开发环境。
坦率地说,我不知道如何进行。 我觉得连接字符串有问题,因为除非您点击访问数据库的页面,否则该站点可以正常工作。 在appsettings.json
文件中,唯一可用的连接字符串如下:
"ConnectionStrings": {
"PostContext": "Server=(localdb)\\mssqllocaldb;Database=PostContext-1;Trusted_Connection=True;MultipleActiveResultSets=true"
}
我并不一定期望 VS2019 自己添加连接字符串,但这不是教程中的步骤,所以我没有自己接触它。
我还注意到有几个问题似乎相关,但似乎也没有明确的答案。 有一个 2018 年的解决方案, this ,它引用了一个托管模型问题,但那是 2 年前的事情了。
任何帮助或指导将不胜感激。
编辑:我在 azure 中使用了应用程序日志系统。 这是回应:
2020-09-11 22:57:18.620 +00:00 [错误]
Microsoft.EntityFrameworkCore.Database.Command:执行 DbCommand 失败(5 毫秒)
[Parameters=[], CommandType='Text', CommandTimeout='30']
SELECT [p].[Two], [p].[OneAgent], [p].[OneDate], [p].[OnePartyId], [p].[OneStage], [p].[OneTitle]FROM [ PostOnes] AS [p]
和另一个错误:
2020-09-11 22:57:18.644 +00:00 [错误] Microsoft.EntityFrameworkCore.Query:
迭代上下文类型“RyneAura.Data.PostContext”.Microsoft.Data.SqlClient.SqlException 的查询结果时发生异常
(0x80131904): 无效的对象名称“PostOnes”.at
Microsoft.Data.SqlClient.SqlCommand.<>c. [...]
我不确定他们的意思。
我认为这个问题的原因是the wrong connection string
。
你可以参考我在这篇文章中的回答。 这是我5月份贴出来的答案,不过官方文档可能会迁移。 您可以下载您正在查看的文档中的示例代码,并根据我的建议进行尝试。 它绝对可以帮助您解决问题。
排除数据库连接错误:
如果您使用的是azure sql server,请检查门户中的防火墙设置(通常用于本地调试和特殊网段的限制)。
检查数据库名称是否一致,数据库表结构、存储过程、函数等是否与测试环境一致。
azure sql server的连接字符串格式如下:
Data Source=tcp:servername.database.windows.net,1433;Initial Catalog=db; Persist Security Info=False; User ID=user;Password=mypassword; MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False; Connection Timeout=30;
门户中的配置高于web.config
的配置,详情可以查看我的回答。
该错误是由错误的连接字符串引起的。 如果你要部署到 Azure 应用服务,那么你需要有一个类似这样的连接字符串;
Server=tcp:[serverName].database.windows.net;Database=myDataBase;
User ID=[LoginForDb]@[serverName];Password=myPassword;Trusted_Connection=False;
Encrypt=True;
请遵循官方文档这将指导您完成故障排除过程
我有我的问题的解决方案。 我必须手动选中该框以在发布时触发迁移。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.