wpf 有没有办法结束webview2的异步屏幕?

7nbnzgx9  于 2022-11-18  发布在  其他
关注(0)|答案(1)|浏览(454)

我将在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();**
        }
4c8rllxm

4c8rllxm1#

关闭承载WebView2的窗口是不够的。
您需要在Webview2示例上调用Dispose (see MS,以便处理。

相关问题