微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Azure部署后的ASP.NET Core MVC webapp错误

如何解决Azure部署后的ASP.NET Core MVC webapp错误

我在带有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并重新启动应用程序来启用Development环境。

直言不讳,我不知道如何进行。我感觉连接字符串有问题,因为该站点可以正常运行,除非您访问了访问数据库页面。在appsettings.json文件中,唯一可用的连接字符串如下:

"ConnectionStrings": {
    "PostContext": "Server=(localdb)\\mssqllocaldb;Database=PostContext-1;Trusted_Connection=True;MultipleActiveResultSets=true"
  }

我不一定希望VS2019自己添加连接字符串,但这不是教程中的步骤,因此我自己也没有碰它。

我还注意到,似乎存在一些相关的问题,但似乎也没有明确的答案。从this开始,有一个来自2018年的解决方案,该解决方案引用了一个托管模型问题,但这已经超过2年了。

任何帮助或指导将不胜感激。

编辑:我在azure中使用了应用程序日志记录系统。这是响应:

2020-09-11 22:57:18.620 +00:00 [错误]
Microsoft.EntityFrameworkCore.Database.Command:执行DbCommand失败(5ms)
[Parameters = [],CommandType ='Text',CommandTimeout = '30']
选择[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。 [...]

我不确定它们是什么意思。

解决方法

我认为导致此问题的原因是C:\Users\\Anaconda3\lib\site-packages\altair_saver\_core.py in _select_saver(method,mode,fmt,fp) 67 else: 68 raise ValueError(f"Unrecognized method: {method}") ---> 69 70 spec: JSONDict = {} 71 if isinstance(chart,dict): ValueError: No enabled saver found that supports format='png'

您可以参考my answer in this post。这是我5月份发布的答案,但官方文档可能已迁移。您可以在正在查看的文档中下载示例代码,然后根据我的建议进行尝试。肯定会帮助您解决问题。

对数据库连接错误进行故障排除:

  1. 如果使用的是Azure SQL服务器,请检查门户中的防火墙设置(通常用于本地调试和对特定网段的限制)。

  2. 检查数据库名称是否一致,数据库表结构,存储过程,函数等是否与测试环境一致。

  3. azure sql服务器的连接字符串格式如下:

    the wrong connection string
  4. 门户中的配置高于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; 中的配置,您可以查看我的答案以获取详细信息。

,

我有解决问题的办法。我必须手动选中该复选框才能在发布时触发迁移。

https://docs.microsoft.com/en-us/aspnet/core/tutorials/publish-to-azure-webapp-using-vs?view=aspnetcore-3.1

,

错误是由错误的连接字符串引起的。如果您要部署到 Azure 应用服务,那么您将需要一个类似这样的连接字符串;

Server=tcp:[serverName].database.windows.net;Database=myDataBase;
User ID=[LoginForDb]@[serverName];Password=myPassword;Trusted_Connection=False;
Encrypt=True;

请关注The Official Documentation 这将指导您完成故障排除过程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。