C# 如何在WPF WebView2中禁用CORS

C# 如何在WPF WebView2中禁用CORS,c#,wpf,.net-core,webview2,.net-5,C#,Wpf,.net Core,Webview2,.net 5,我正在开发一个使用.Net5/WPF显示WebView2的应用程序。 我想禁用CORS。 我已经安装了Chromium Edge Canary 86.0.607.0。 在Edge中,可以通过向快捷方式添加以下参数来禁用CORS --禁用web安全性--user data dir=“C://Chrome-dev-session” 我也想禁用WebView2。我在这个论坛上得到了答案。抱歉,此网站是日文的。 它使用下面的代码工作。 *在WebView2.Source中指定URL之前必须进行设置。

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

--禁用web安全性--user data dir=“C://Chrome-dev-session”


我也想禁用WebView2。

我在这个论坛上得到了答案。抱歉,此网站是日文的。

它使用下面的代码工作。
*在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}\Microsoft\Edge SxS\Application\86.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窗口构造函数
/// 
///网址
公共WebViewWindow(字符串url)
{
初始化组件();
//异步启动
加载+=异步(u,u)=>等待u例程(url);
}
/// 
///任务
/// 
///网址
///任务
异步任务_例程(字符串url)
{
var localPath=Environment.GetEnvironmentVariable(“LocalAppData”);
var webviewPath=$@“{localPath}\Microsoft\Edge SxS\Application\86.0.608.0”;
var userPath=“C://Chrome-dev-session”;
//禁用COAR的参数设置
var op=new CoreWebView2EnvironmentOptions(“--disable web security”);
var env=await CoreWebView2Environment.CreateAsync(webviewPath,userPath,op);
等待webView.EnsureCreWebView2Async(环境);
if(Uri.TryCreate(url,UriKind.RelativeOrAbsolute,out Uri?result))
{
webView.Source=结果;
}
}

对于WPF,在构造函数中调用以下代码

 async void InitializeAsync()
        {
            var op = new CoreWebView2EnvironmentOptions("--disable-web-security");
            var env = await CoreWebView2Environment.CreateAsync(null, null, op);
            await webView.EnsureCoreWebView2Async(env);
        }

似乎每次边缘更新时都必须更改路径