2017-10-12 64 views
1

我要生成 「服務worker.js」 使用sw-precache運行 「SW-預緩存」 從C#

從命令行(cmd.exe的)指令I運行這個命令並輸出是:

35個資源的總預備緩存大小約爲145 kB。 已使用服務工作人員內容生成了service-worker.js。

當我運行從C#輸出這個命令是,這裏是我的代碼:

Process proc = new Process 
        { 
         StartInfo = new ProcessStartInfo 
         { 
          FileName = @"cmd.exe", 
          Arguments = @"/c sw-precache", 
          UseShellExecute = false, 
          RedirectStandardOutput = true, 
          RedirectStandardError = true, 
          CreateNoWindow = true, 
          WorkingDirectory = Path.GetFullPath(myDir) 
         } 
        }; 
proc.Start(); 
proc.WaitForExit(); 
string output = proc.StandardOutput.ReadToEnd(); 

如果我在參數=運行命令,如「目錄」 @「/ C目錄」,輸出包含來自dir命令的消息,

我做錯了什麼?

編輯: 在控制檯應用程序,輸出正常返回,但不能在Web應用程序

+0

爲什麼不直接運行'sw-precache'? –

+0

@ Vilx-我必須自動化過程 – Alex

+0

Vilx的意思是將'FileName'設置爲'sw-precache',而不是使用'cmd.exe'。 – Behrooz

回答

0

WaitForExit第一則讀取輸出。它在進程退出後保持不變。

+0

沒有任何變化,輸出也是空的 – Alex

+0

我編輯我的問題,正如你所提到的 – Alex

+0

你的Web應用程序是完全信任還是部分信任?我不是一個Web開發人員,所以我不能確定,但​​這可能是。 – Behrooz