如何解决为什么通过经典方式在 C# 中以编程方式 ping Redis Sercer 不起作用?
所以我在本地安装了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");
它就像一个魅力。
问题:传统方法有什么问题?我只是非常好奇。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。