我们正在从Visual Studio运行自动化测试。其中一些测试需要与临时Redis服务器通信,因此我们在测试执行期间在JobObject中启动redis-server.exe
。
通过声明[DeploymentItem("redis-server.exe")]
将redis-server.exe
可执行文件部署到测试运行目录。
除了每次测试运行都会显示恼人的Windows防火墙弹出窗口时,此工作正常:
是否可以阻止显示此弹出窗口?
例如,是否可以告诉Windows任何位于特定目录下的redis-server.exe
是否可以使用该网络?
这特别令人讨厌,因为在这种情况下对话框没有任何用途。无论我选择单击允许访问还是取消,甚至只是忽略弹出窗口,测试仍将完成。但是,每次都会创建新的防火墙规则。
答案 0 :(得分:4)
不知道它是否真的可行,但最好的解决方案是更改临时服务器上的监听设置,使其侦听127.0.0.1而不是0.0.0.0,导致它只接受来自的连接本地机器。对于测试来说,它是完全可以接受的,而这样的监听绝不会触发防火墙警告。
答案 1 :(得分:0)
我知道这篇文章与VisualStudio有关,但是我遇到了完全相同的问题,但是使用了 Intellij 和 Java 。
在 Java 中,可以像下面的代码一样配置服务器以实现相同的目的(不显示防火墙警告):
RedisServer.builder().setting("bind 127.0.0.1")...build()
诀窍是设置值"bind 127.0.0.1"
。
使用此配置,不再显示防火墙警告。
我在GitHub(here)上的Embedded-redis项目中找到了答案。