如何在WPF WebView2中禁用CORS

How to disable CORS in WPF WebView2(如何在WPF WebView2中禁用CORS)
本文介绍了如何在WPF WebView2中禁用CORS的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在开发一个使用.Net5/WPF显示WebView2的应用程序。
我要禁用CORS。
我已安装Chromium Edge Canary 86.0.607.0。
在Edge中,可以通过向快捷方式添加以下参数来禁用CORS。

--disable-web-security --user-data-dir="C://Chrome dev session"

我还想禁用WebView2。

推荐答案

我在这个论坛上得到了答案。抱歉,此网站是日语。
https://social.msdn.microsoft.com/Forums/ja-JP/9bac6d51-94eb-42c8-96f0-4081e9a4056d/wpf-webview2-cors-?forum=wpfja

它与以下代码一起工作。
*在WebView2.Source中指定URL之前需要设置。
请注意不要在XAML端指定来源。

    /// <summary>
    /// WPF Window Constructor
    /// </summary>
    /// <param name="url">URL</param>
    public WebViewWindow(string url)
    {
        InitializeComponent();
        // async start
        Loaded += async (_, __) => await _Routine(url);
    }

    /// <summary>
    /// task
    /// </summary>
    /// <param name="url">URL</param>
    /// <returns>task</returns>
    async Task _Routine(string url)
    {
        var localPath = Environment.GetEnvironmentVariable("LocalAppData");
        var webviewPath = $@"{localPath}MicrosoftEdge SxSApplication86.0.608.0";
        var userPath = "C://Chrome dev session";
        
        // Argument setting to disable COAR
        var op = new CoreWebView2EnvironmentOptions("--disable-web-security");
        
        var env = await CoreWebView2Environment.CreateAsync(webviewPath, userPath, op);
        
        await webView.EnsureCoreWebView2Async(env);
        
        if (Uri.TryCreate(url, UriKind.RelativeOrAbsolute, out Uri? result))
        {
            webView.Source = result;
        }
    }

这篇关于如何在WPF WebView2中禁用CORS的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)