在.Net中扩展Azure上的PhantomJs实例

本文关键字:上的 PhantomJs 实例 Azure 扩展 Net | 更新日期: 2023-09-27 18:25:58

我使用的是类似于http服务器的PhantomJs。我只有一个实例,每个请求都是按顺序执行的。我想扩展PhantomJs的http服务器实例,使用带有.Net框架的Windows Azure(如果可能的话)

在.Net中扩展Azure上的PhantomJs实例

您可以托管自己的ASP.net应用程序,该应用程序使用phantomjs的precess.start这将为每个请求创建phantomjs实例,并由IIS 管理

 System.Diagnostics;
    var processStartInfo = new ProcessStartInfo
    {
        CreateNoWindow = true,
        RedirectStandardOutput = true,
        RedirectStandardInput = true,
        UseShellExecute = false,
        Arguments = "your.js plus any arguments here",
        FileName = "path/to/phantomjs.exe"
    };
    var process = new Process
    {
        StartInfo = processStartInfo,
        EnableRaisingEvents = true
    };
    //pipe the output
    process.OutputDataReceived += (sender, args) => {
        //args.Data has output from phantomjs
    };

        process.Start();
        process.BeginOutputReadLine();
        process.WaitForExit(20000);
        process.CancelOutputRead();

正如你所知,这个解决方案在Azurewebsites上不起作用,因为GDI+现在在Azuresites上被禁用了。