Tengo el siguiente código para iniciar webview
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);En cuanto a mi entendimiento, proporcionar una carpeta de datos de usuario única no debería crear un problema cuando varios usuarios usan la aplicación en un mismo servidor. Funciona para algunos, pero para algunos usuarios arroja la excepción. ¿Hay algo que me esté perdiendo?
Usando Microsoft.Web.WebView2 -Versión 1.0.1108.44
Excepción
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()Al observar la excepción que incluyó, indica que más de una instancia de userdatafolder utiliza la misma carpeta de datos de WebView2 . Para solucionar ese problema, le sugiero que cree una nueva carpeta para cada instancia de WebView2 que ejecute.
Para hacer eso, simplemente puede crear un nombre aleatorio para la carpeta en lugar de usar uno por usuario. Algo como esto:
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));Sin embargo, debe considerar eliminar esa carpeta nuevamente, cuando el programa se apague (o obtendrá muchas carpetas temporales).