【发布时间】:2021-11-12 21:50:38
【问题描述】:
当服务器上的多个用户启动 WebView2 应用程序时,我收到以下异常:“请求的资源正在使用中。(来自 HRESULT 的异常:0x800700AA)”
首先启动应用程序的用户仍然可以打开多个会话。我们如何让它与多个用户一起工作?
调试器说问题是由“EnsureCoreWebView2Async”方法产生的。这就是我创建环境的方式:
var env = await Microsoft.Web.WebView2.Core.CoreWebView2Environment.CreateAsync(userDataFolder: CacheDirectory);
await this.EnsureCoreWebView2Async(env);
【问题讨论】:
-
WebView2的不同实例必须使用不同的UserDataFolder。他们不能共享相同的。然后你得到你的例外。 -
感谢您的回答。你是说我需要为每个线程创建一个单独的线程吗?
-
CacheDirectory对于每个实例必须是唯一的。 -
您如何解释用户能够运行应用程序的多个实例并且它们都共享同一个文件夹?
-
与“真实”浏览器进行比较:计算机上的每个用户都有自己的用户数据文件夹。这适用于所有浏览器,我知道。这可能是由于隐私和其他问题。所以
WebView2在这个问题上并不特别。可能存在某种“按用户锁定”的效果。
标签: webview2