gpt4 book ai didi

asp.net - Azure 网站中的 Process.Start

转载 作者:行者123 更新时间:2023-12-01 23:01:40 25 4
gpt4 key购买 nike

我有一个 ASP.NET MVC 5 应用程序,我需要使用 Process.Start 在我的 Azure 网站中调用 wkhtml2pdf.exe。本地一切正常。但我的应用程序似乎停留在 Process.Start 行。 Azure 支持启动进程吗?

最佳答案

ramiramilu的回答其实并不正确。您可以运行任何您想要的 exe ( check this for example )。您遇到的问题不是运行 exe,而是 wkhtml2pdf.exe 本身特有的问题。该 exe 在 Windows 上使用一堆 GDI+ 调用来渲染 PDF,而这是 Azure 网站沙箱中不允许的(GDI+ 调用,而不是运行 exe)。

使用 WebJob 也无济于事,因为 WebJob 与站点在相同的上下文中运行,这意味着在同一个沙箱下。

编辑:

在 Azure 网站上启动外部进程的方式与使用 C# 通常执行的方式没有什么特别的。同样,您面临的问题是 wkhtml2pdf.exe 而不是启动进程的一般概念。

这是一个示例,您可以尝试启动 cmd.exe 并读取 stdout 上写入的内容

var processStartInfo = new ProcessStartInfo()
{
Arguments = "/c echo \"test\"",
FileName = @"c:\windows\system32\cmd.exe",
RedirectStandardOutput = true,
UseShellExecute = false
};

var process = Process.Start(processStartInfo);

using (var streamReader = new StreamReader(process.StandardOutput.BaseStream))
{
ViewBag.MessageFromExe = streamReader.ReadToEnd();
}

ViewBag.MessageFromExe 将具有值“test”,您可以在 View 上验证该值,并且可以在 Azure 网站中正常运行

关于asp.net - Azure 网站中的 Process.Start,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28293505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com