我将在wpf应用程序中使用webview2进行视频聊天。
但是,由于webview2异步运行,因此即使关闭了窗口,它也会识别用户没有离开服务器。
我只是做了一个按钮,当它被点击时,Window.GetWindow(this).Close();
我实现了这个语法来工作,用户就离开了服务器。
但是,当用户退出时,webview2在后台工作,而不按wpf窗口中的按钮。
当退出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();**
}
发布于 2022-10-25 04:15:17
仅关闭承载WebView2的窗口是不够的。
您需要对您的处置(见MS )实例调用Webview2,以便处理它。
https://stackoverflow.com/questions/74177872
复制相似问题