首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >请求的资源正在使用中。(HRESULT例外: 0x800700AA) -微软WebView

请求的资源正在使用中。(HRESULT例外: 0x800700AA) -微软WebView
EN

Stack Overflow用户
提问于 2022-02-10 17:43:55
回答 1查看 361关注 0票数 3

我有下面的代码来启动webview

代码语言:javascript
运行
复制
var env = await Microsoft.Web.WebView2.Core.CoreWebView2Environment.CreateAsync(userDataFolder: Path.Combine(Path.GetTempPath(), $"{Environment.UserName}_Browser"));
await webView21.EnsureCoreWebView2Async(env);
           
 var url = $"Field1=A2&TypeId=1&ItemId=1234";

 var postData = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(url));
 var request = webView21.CoreWebView2.Environment.CreateWebResourceRequest("https://xxxx/xxxx", "POST", postData, "Content-Type: application/x-www-form-urlencoded");
 webView21.CoreWebView2.NavigateWithWebResourceRequest(request);       

根据我的理解,当多个用户在同一台服务器上使用应用程序时,提供唯一的userDataFolder不应该造成问题。它适用于某些用户,但对于一些用户则抛出异常。我遗漏了什么吗?

使用Microsoft.Web.WebView2 -Version 1.0.1108.44

异常

代码语言:javascript
运行
复制
System.Runtime.InteropServices.COMException (0x800700AA): The requested resource is in use. (Exception from HRESULT: 0x800700AA)
   at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo)
   at Microsoft.Web.WebView2.Core.CoreWebView2Environment.<CreateCoreWebView2ControllerAsync>d__54.MoveNext()
EN

Stack Overflow用户

回答已采纳

发布于 2022-02-10 20:35:35

通过查看异常(包括在内),它指示多个WebView2实例使用相同的WebView2。为了解决这个问题,我建议您为运行的每个WebView2实例创建一个新文件夹。

要做到这一点,您可以简单地为文件夹创建一个随机名称,而不是每个用户使用一个。就像这样:

代码语言:javascript
运行
复制
Random rnd = new Random();
string subFolder = rnd.Next().toString();
var env = await Microsoft.Web.WebView2.Core.CoreWebView2Environment.CreateAsync(userDataFolder: Path.Combine(Path.GetTempPath(), $"{Environment.UserName}", subFolder));

但是,当程序关闭时,您应该考虑再次删除该文件夹(否则会得到很多临时文件夹)。

票数 3
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71069867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档