2017-10-12 65 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