我有一个包含几个加密列的表。数据库和Web应用程序都托管在Azure上。如果我在本地运行Web应用程序,代码工作正常,我按预期从表中获取解密数据。但是,当我将我的Web应用程序发布到Azure时,当应用程序尝试从加密表中读取时,我会收到超时。加密密钥存储在Azure Key Vault中。我使用实体框架和#34;列加密设置=启用"在连接字符串中设置。
有什么想法吗?
答案 0 :(得分:3)
事实证明,最新版本的Microsoft.IdentityModel.Clients.ActiveDirectory dll(3.X)在异步调用方面做得不是很好。 AcquireTokenAsync方法一直在超时。
我回滚到dll的2.X版本,现在它工作正常。起初,我使用的是AcquireToken(非异步)方法,但当我尝试Async方法时,我发现它也有效。显然问题出在DLL上。
有关该主题的更多信息: https://github.com/Azure/azure-sdk-for-net/issues/1432
答案 1 :(得分:0)
您使用的是哪个版本的Azure Key Vault Provider?
已知较早版本的Azure Key Vault Provider会导致此问题,您是否可以尝试将提供程序升级到latest version