C# 为什么用C语言通过clasic方式编程Ping Redis Sercer不起作用?

C# 为什么用C语言通过clasic方式编程Ping Redis Sercer不起作用?,c#,.net-core,redis,distributed-caching,C#,.net Core,Redis,Distributed Caching,所以我在本地安装了Redis。如果我是从cmd运行,则命令: redis-cli ping 我得到响应“PONG”-假设我已经打开(双击redis server.exe)服务器 到目前为止还不错。让我们远离这项手工工作,用C#编程完成它 让我们尝试一下基本方法: System.Diagnostics.Process process = new System.Diagnostics.Process(); process.StartI

所以我在本地安装了Redis。如果我是从cmd运行,则命令:

redis-cli ping
我得到响应“PONG”-假设我已经打开(双击redis server.exe)服务器

到目前为止还不错。让我们远离这项手工工作,用C#编程完成它

让我们尝试一下基本方法:

                System.Diagnostics.Process process = new System.Diagnostics.Process();
                process.StartInfo.UseShellExecute = false;
                process.StartInfo.RedirectStandardOutput = true;
                process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
                process.StartInfo.WorkingDirectory = @"C:\Program Files\Redis";
                process.StartInfo.FileName = "C:\\Windows\\System32\\cmd.exe"; //doh
                process.StartInfo.Arguments = "redis-cli ping";
                process.Start();

                var result = process.StandardOutput.ReadToEnd(); //HERE it gets blocked. Id does not go through

                process.WaitForExit();
所以我不能得到结果

但是如果我试试这个

ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost");
它就像一个符咒

问题:传统方法有什么问题?我只是很好奇