我将在wpf应用程序中使用webview2进行视频聊天。
但是,由于webview2是异步运行的,因此即使窗口关闭,它也会识别出用户没有离开服务器。
我只是做了一个按钮,当它被点击时,我实现了这个语法,用户离开服务器。
但是,当用户没有按下WPF窗口中的按钮就退出时,WebView2正在后台工作。
当退出wpf中的窗口时,有没有办法在后台退出webview2?
public Webcam()
{
InitializeComponent();
}
protected override async void OnContentRendered(EventArgs e)
{
base.OnContentRendered(e);
try
{
**var webView2Environment = await CoreWebView2Environment.CreateAsync();**
await webView.EnsureCoreWebView2Async(webView2Environment);
webView.CoreWebView2.Navigate("ServerIP");
string test = "JoinRoom(test)";
webView.CoreWebView2.NavigationCompleted += CoreWebView2_NavigationCompleted;
}
catch (Exception exception)
{
}
}
private void CoreWebView2_NavigationCompleted(object? sender, Microsoft.Web.WebView2.Core.CoreWebView2NavigationCompletedEventArgs e)
{
string test = "UserID";
webView.CoreWebView2.PostWebMessageAsString(test);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
string leaveroom = "leaveRoom";
webView.CoreWebView2.PostWebMessageAsString(leaveroom);
**Window.GetWindow(this).Close();**
}
1条答案
按热度按时间4c8rllxm1#
关闭承载WebView2的窗口是不够的。
您需要在Webview2示例上调用Dispose (see MS,以便处理。