簡體   English   中英

進程在 IIS 中啟動

[英]Process Start in IIS

想要在應用程序目錄中執行一個 exe,在開發系統中它工作正常。 在IIS中,它沒有被執行,我嘗試了以下幾點:

將默認應用程序池設置為本地系統

設置defualtpool,NETWORK_SERVICE,所有人都可以訪問exe

啟用 32 位應用程序到應用程序池

服務器版本:Windows Server 2012

IIS 版本:IIS 8.0

下面是我的代碼

 p.StartInfo = new ProcessStartInfo();

p.StartInfo.UseShellExecute = false;

p.StartInfo.RedirectStandardOutput = true;

p.StartInfo.FileName = System.AppDomain.CurrentDomain.BaseDirectory.ToString() + "wkhtmltopdf\\wkhtmltopdf.exe";      

string arg1 = "";

arg1 = "www.google.com" + " test.pdf";

p.StartInfo.Arguments = arg1;

p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;

p.StartInfo.CreateNoWindow = true;

p.Start();          

p.WaitForExit(60000);

p.Close();

p.Dispose();

確保生成 pdf 文件的位置“每個人都可以訪問它”

看來您正試圖在您的 iis 服務器上將 html 數據轉換為 pdf 文件。 確保 IIS 服務器可以訪問您嘗試轉換的站點“檢查您是否可以在 IIS 服務器上使用 IE 訪問這些站點,因為可能存在代理問題”

考慮設置您的 exe 的工作路徑:

 p.StartInfo.WorkingDirectory = System.AppDomain.CurrentDomain.BaseDirectory.ToString() + "wkhtmltopdf";

如果exe在內存中,還要檢查任務管理器。 有時,當批處理出現低級錯誤時,會打開一個提示,而 IIS 不會捕獲它,因此該進程在內存中被凍結。

還要考慮在 exe 中設置日志以了解出了什么問題。

我有類似的問題。 解決了將 exe 移動到 IIS 應用程序之外的另一個文件夾中的問題。 這個文件夾應該有執行權限。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM