Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# PuppeterSharep-在与.Net Core应用程序一起的容器中使用它时的冗余命令行参数_C#_Asp.net_Docker_Puppeteer - Fatal编程技术网

C# PuppeterSharep-在与.Net Core应用程序一起的容器中使用它时的冗余命令行参数

C# PuppeterSharep-在与.Net Core应用程序一起的容器中使用它时的冗余命令行参数,c#,asp.net,docker,puppeteer,C#,Asp.net,Docker,Puppeteer,我有一个任务,需要我创建微服务,它使用木偶手制作页面截图。为此,我使用ASP.net核心web api项目模板。在Startup.cs文件中,我启动puppetersharp。以下是代码: public void ConfigureServices(IServiceCollection services) { services.AddControllers(); Browser puppeteerBrowser = null; Task.Run

我有一个任务,需要我创建微服务,它使用木偶手制作页面截图。为此,我使用ASP.net核心web api项目模板。在Startup.cs文件中,我启动puppetersharp。以下是代码:

public void ConfigureServices(IServiceCollection services)
{
        services.AddControllers();

        Browser puppeteerBrowser = null;

        Task.Run(async () => puppeteerBrowser = await LaunchPuppeteerBrowserAsync());

        services.AddSingleton(puppeteerBrowser);
}

public static async Task<Browser> LaunchPuppeteerBrowserAsync()
{
        Console.WriteLine("Starting to launch CHROMIUM...");

        // Uncomment to let puppeteer download chromium
        //await new BrowserFetcher().DownloadAsync(BrowserFetcher.DefaultRevision);

        var browser = await Puppeteer.LaunchAsync(new LaunchOptions
        {
            // Comment to let puppeteer run downloaded chromium
            ExecutablePath = "/usr/bin/chromium",

            Args = new[]{ "--no-sandbox", "--disable-gpu-rasterization", "--disable-remote-extensions" },

            Headless = true,

            // Didn't help
            //IgnoredDefaultArgs = new []{ "--enable-gpu-rasterization", "--enable-remote-extensions", "--load-extension=" }
        });

        Console.WriteLine("CHROMIUM launched successfully");

        return browser;
    }
后一个
--禁用gpu光栅化--disable remote extensions
参数是我在LaunchOptions的Args属性中手动设置的参数-查看我提供的第一个代码示例。 我还尝试使用LaunchOptions的“IgnoredDefaultArgs”属性,因为根据库的文档化,在那里设置的选项将被忽略。您也可以在源代码中看到这种情况

-创建新的铬工艺,该工艺具有

放入“IgnoredDefaultArgs”数组的参数将从结果数组中删除。但这并没有起到作用,
——启用gpu光栅化——启用远程扩展——加载扩展=
仍然存在

奇怪的是,当我让PuppeterSharep库获取浏览器本身,并从“LaunghOptions”中注释出“ExecutablePath”属性并启动它时,没有这样的冗余参数。我查过了

我的猜测是,库启动我下载的可执行文件时,会出现冗余参数。我的意思是,在某种程度上,Windows允许您向文件属性添加一些额外的命令行参数。但这在Linux中可能吗

有人能帮忙吗

 /usr/lib/chromium/chromium --show-component-extension-options --enable-gpu-rasterization --no-default-browser-check --disable-pings --media-router=0 --enable-remote-extensions --load-extension= --disable-background-networking --enable-features=NetworkService,NetworkServiceInProcess --disable-background-timer-throttling --disable-backgrounding-occluded-windows --disable-breakpad --disable-client-side-phishing-detection --disable-component-extensions-with-background-pages --disable-default-apps --disable-dev-shm-usage --disable-extensions --disable-features=TranslateUI,BlinkGenPropertyTrees --disable-hang-monitor --disable-ipc-flooding-protection --disable-popup-blocking --disable-prompt-on-repost --disable-renderer-backgrounding --disable-sync --force-color-profile=srgb --metrics-recording-only --no-first-run --enable-automation --password-store=basic --use-mock-keychain --headless --hide-scrollbars --mute-audio about:blank --no-sandbox --disable-gpu-rasterization --disable-remote-extensions --remote-debugging-port=0 --user-data-dir=/tmp/kgkyt1d1.bqe