【发布时间】:2019-12-04 21:35:10
【问题描述】:
我有一个由 Azure 应用服务托管的 Web 应用程序。它多年来一直运行良好,但是当我尝试输入帐户/登录操作时突然出现异常:
-->“XmlException:缺少根元素”+“CryptographicException:尝试加密提供的数据时出错。”。
如果我进入 Home/About 操作(具有[AllowAnonymous] 属性),该页面可以正常工作。
但是,如果我尝试在具有[AllowAnonymous] 属性的帐户控制器中输入一个页面。这也会抛出相同的异常。所以我猜测异常发生在 Account 控制器的构造函数中。见下文。
我已经有几个月没有对页面进行任何更新了,到目前为止它运行良好。 如果我在我的 PC 上本地运行应用程序(连接到 azure 上的同一数据库),它工作正常。 据我了解,Azure 最近对其门户进行了更新。 我的猜测是错误的原因与此有关。
有人知道怎么解决吗?
public AccountController(
UserManager<ApplicationUser> userManager,
SignInManager<ApplicationUser> signInManager,
IEmailSender emailSender,
ILogger<AccountController> logger,
ApplicationDbContext context)
{
_userManager = userManager;
_signInManager = signInManager;
_emailSender = emailSender;
_logger = logger;
_context = context;
}
【问题讨论】:
-
我不认为是 AccountController。异常的堆栈跟踪是什么?
-
@RyanHill-MSFT Maby 你是对的。堆栈太长,无法粘贴到这里。但是如果你去页面link你会看到它。
-
@FredrikLing 查看堆栈跟踪,看起来您在登录页面(在标记或代码隐藏本身)上使用了引用数据保护的防伪标签助手。您是如何在 Startup.cs 中配置数据保护的?另外,您使用的是什么 AspNetCore 版本?您的问题与github.com/aspnet/AspNetCore/issues/4167 非常相似。
-
@RyanHill-MSFT 是的,您似乎走在了正确的轨道上。我找到了问题的原因并解决了它。请参阅下面的答案。感谢您的努力!
标签: azure asp.net-core asp.net-core-mvc azure-web-app-service xmlexception