2010-04-13 43 views
0

我有以下代碼:開始一個新的進程在asp.net web服務

public void BeginConvert(object data) 
{ 
ConverterData cObject = (ConverterData)data; 
string argument = string.Format("-i \"{0}\" -b {1} \"{2}\"", cObject.Source, compression, cObject.Destiny); 

Process converterProcess = new Process(); 
converterProcess.StartInfo.FileName = ffPath; 
converterProcess.StartInfo.Arguments = argument; 
converterProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; 
converterProcess.Start(); 
converterProcess.WaitForExit(); 
} 

我用它在一個Web服務,我開始在一個新的線程,並返回退出代碼1(錯誤,我試圖做一個與ffmpeg庫視頻轉換),我假裝ASP.NET使用權限來讀取和寫入文件的本地帳戶,當我運行它在我的機器運行或調試它的作品,但知道的Web服務在IIS doest'n中運行。有人能幫助我嗎?

+0

沒有在事件查看器註冊的問題,convertProcess剛剛返回退出代碼1(就像我之前說的)但是,這並不represnt一個異常被記錄下來,我有做一些測試,看看如果應用程序是在文件夾,當我打電話給它,一切都好,就像你們我認爲必須是一個權限的問題,但我冒充asp.net使用管理帳戶進行測試,所以我假設其所有操作都在該帳戶下運行 – Deumber 2010-04-14 19:33:46

回答

2

我幾乎可以100%肯定地說,這是一個權限問題。你是怎麼做假冒的?你有沒有在服務器上配置相同的用戶名/密碼?

當然另一種可能性是,在StartInfo.FileName目標可執行是不是在正確的地方。

檢查事件查看未處理的異常,你可能會得到更多的信息。

+0

+1在事件查看器建議。 – BenV 2010-04-13 21:41:34