2014-05-03 34 views
0

我有這樣的代碼:process.StandardOutput.ReadToEnd返回null

在C#窗口形式作品的權利......但在asp.net其返回空

 var tempCadena = HttpContext.Current.Server.MapPath("~/" + HttpContext.Current.Session["db"] + "/" + "cadena"); 
     System.IO.File.WriteAllText(tempCadena, cadena); 

     // Digestion SHA1 
     var tempSha = HttpContext.Current.Server.MapPath("~/" + HttpContext.Current.Session["db"] + "/" + "sha"); 
     var opensslPath = HttpContext.Current.Server.MapPath("~/openssl/bin/openssl.exe"); 
     Process process = new Process(); 
     process.StartInfo.WindowStyle = ProcessWindowStyle.Minimized; 
     process.StartInfo.FileName = opensslPath; 
     process.StartInfo.Arguments = "dgst -sha1 " + tempCadena; 
     process.StartInfo.UseShellExecute = false; 
     process.StartInfo.ErrorDialog = false; 
     process.StartInfo.RedirectStandardOutput = true; 
     process.Start(); 


     string codificado = ""; 
     codificado = process.StandardOutput.ReadToEnd(); 
     process.WaitForExit(); 

codificado = NULL我試過很多東西並沒有什麼...有人可以幫我嗎?

我試圖改變過程中的ProcessStartInfo並不起作用

回答

0

我發現:

的:tempCadena具有價值的目錄: d:\ MySQL的ShamTec \ ,它有一個空間中的文件夾名稱 這就是爲什麼過程返回錯誤的原因

謝謝