2011-12-05 58 views
1

當我嘗試在asp.net服務器上啓動外部應用程序時,我發現進程已執行並且工作正常,但所有內容都以後臺模式運行。ASP.NET Process.Start()在後臺模式下啓動進程

我正在使用cassini web服務器。另外StartInfo.CreateNoWindow = false;沒有幫助。

例如Visual Studio Development服務器顯示一切正常。

我該如何啓動一個應用程序,並看到它運行可見?

+0

你想要應用程序啓動並顯示在用戶的計算機上,他們正在運行他們的Web瀏覽器?如果是這樣,這是不可能的,並且背離了對asp.net,iss,http,html和javascript之間的所有東西如何組合的深刻誤解。 –

+0

沒有。我想從服務器端運行它。這就是爲什麼我使用Process.Start()唯一的問題,我正面臨的是casini web服務器在「與桌面交互」模式下不起作用。這就是爲什麼它不顯示應用程序面孔=)。可能會有一些解決方法嗎? –

回答

1

這是預期的和正確的行爲。 ASP.Net/IIS作爲服務運行,並且由服務創建的任何窗口都顯示在爲此目的而保留的私有隱藏桌面上。無法顯示此桌面。

它在開發服務器中工作,因爲開發服務器是在普通用戶桌面環境中運行的普通應用程序。

如果你想用他們的瀏覽器在用戶的計算機上打開窗口,這是不可能的。

0

這裏描述的步驟https://stackoverflow.com/a/4679686/166921會導致由asp.net啓動的進程的窗口顯示在服務器機器上。下面

相關步驟(倒車他們的窗戶後停下來顯示):

啓用IIS管理服務與桌面

要配置此,請按照此步驟進行交互。

a。打開控制面板並按照下列步驟操作:對於Windows NT:單擊服務。對於Windows 2000,Windows XP和.NET Server:單擊管理工具,然後單擊服務。

b。雙擊IIS管理服務。

c。在登錄選項卡上,選中允許服務與桌面交互複選框。請記住以本地系統的身份運行IIS Admin Service。 d。停止並重新啓動IIS管理服務。