#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
вызовом.