Свойство источника WebView2 CoreWebView2 равно нулю

#c# #winforms #webview2 #microsoft-edge-chromium

Вопрос:

 Namespace: Microsoft.Web.WebView2.WinForms
Assembly: Microsoft.Web.WebView2.WinForms.dll
Package: Microsoft.Web.WebView2 v1.0.902.49
 
 string userDataFolder = Path.GetTempPath()   @"WebView2UserData";
CoreWebView2EnvironmentOptions options = new CoreWebView2EnvironmentOptions();
 

Инициализация веб-представления

 async void InitwebView()
{
    CoreWebView2Environment env = CoreWebView2Environment.CreateAsync("", userDataFolder, options).GetAwaiter().GetResult();
    await webView.EnsureCoreWebView2Async(env);
    webView.CoreWebView2InitializationCompleted  = WebView_CoreWebView2Ready;
}
 

Отправка почтовых данных через WebView

  public void SendPostData(string url, string postData, string headers)
    {
     byte[] postDataByte = Encoding.UTF8.GetBytes(postData);
     MemoryStream postStream = new MemoryStream(postDataByte);
     string additionalHeaders = "Content-Type: application/x-www-form-urlencoded"   
     Environment.NewLine   headers;
     this.webView.Source = new Uri(url);
      
 

Навигация с помощью WebResourceRequest

 var request = webView.CoreWebView2.Environment.CreateWebResourceRequest(url,"POST",postStream, additionalHeaders);           
    webView.CoreWebView2.NavigateWithWebResourceRequest(request);
}
 

Комментарии:

1. Когда Source значение равно нулю? Кстати: Не используйте async void , так как это не будет ждать.

2. Привет, @Poul Bak — На веб-просмотре CreateWebResourceRequest. Свойство CoreWebView2 равно нулю

3. Попробуйте воспользоваться async Task и await вызовом.