C# 从我的应用程序保存扩展详细信息后重新加载星号服务器
我正在使用ASP.NETMVC开发一个web应用程序。我在应用程序中编写了添加功能,使用asterisk实时数据库配置将扩展详细信息添加到asterisk数据库中。但在将扩展详细信息保存到asterisk数据库后,它需要重新加载。那么,如何从我的应用程序重新加载位于远程的asterisk服务器呢?您应该使用asterisk实时体系结构,它不需要重新加载C# 从我的应用程序保存扩展详细信息后重新加载星号服务器,c#,asp.net,asp.net-mvc,asterisk,C#,Asp.net,Asp.net Mvc,Asterisk,我正在使用ASP.NETMVC开发一个web应用程序。我在应用程序中编写了添加功能,使用asterisk实时数据库配置将扩展详细信息添加到asterisk数据库中。但在将扩展详细信息保存到asterisk数据库后,它需要重新加载。那么,如何从我的应用程序重新加载位于远程的asterisk服务器呢?您应该使用asterisk实时体系结构,它不需要重新加载 重新加载可以通过使用AMI接口来完成,但是如果您需要它,您可能做错了什么。我已经自行解决了这个问题。在asterisk数据库中存储所有配置后重新
重新加载可以通过使用AMI接口来完成,但是如果您需要它,您可能做错了什么。我已经自行解决了这个问题。在asterisk数据库中存储所有配置后重新加载asterisk需要以下代码:
using (var cSSH = new SshClient("asterisk server ip", "username", "secret"))
{
cSSH.Connect();
SshCommand sc = cSSH.CreateCommand("/var/lib/asterisk/bin/retrieve_conf");
sc.Execute();
sc = cSSH.CreateCommand("asterisk -rx 'core reload'");
sc.Execute();
cSSH.Disconnect();
}
请通读一遍,回答不正确。第一个命令重建freepbx配置,第二个命令重新加载星号上的所有模块,这不是一个好方法。它也没有星号二进制的完整路径。将ssh机密放入应用程序的源代码中确实是一个巨大的风险。你们可能是对的,但这个解决方案对我有效,无论你们是否否决我的答案,对我来说都无关紧要。