我试图使用控制台应用程序发送 WhatsApp 消息,我在互联网上进行的所有搜索都将我带到了 NuGet WhatsAppAPI。我了解这是因为这不是官方客户端 WhatsApp 目前已将其阻止。
我们还有其他方法来实现相同的目标吗?
的背景:
我正在尝试修复潜在的安全问题,以删除作为字符串参数注入到我的 WebAPI 方法中的单引号(这需要在整个应用程序中完成)。
我尝试通过创建一个动作过滤器来完成此任务,该过滤器执行必要的操作
public class ValidateActionParametersAttribute : ActionFilterAttribute, IActionFilter
{
public override void OnActionExecuting(HttpActionContext actionExecutedContext)
{
var parameters = actionExecutedContext.ActionArguments;
var parameterList = parameters.Values.ToList();
parameterList.Where(x => x.GetType() == typeof(string)).ToList().ForEach(y => y = y.ToString().Replace("\'", ""));
base.OnActionExecuting(actionExecutedContext);
}
}
Run Code Online (Sandbox Code Playgroud)
并在我的 WebApiConfig 中全局注册它
config.Filters.Add(new ValidateActionParametersAttribute());
Run Code Online (Sandbox Code Playgroud)
但是,当我在代码中放置断点后检查时,ActionFilter 中完成的参数更改似乎没有反映出来。有人可以指导我做错了什么吗?
我有一个看起来像这样的模型类:
public class Employee
{
public int Id {get;set;}
public int ParentId {get;set;}
public string Name{get;set;}
public string Designation {get;set;}
public List<Employee> Reportees {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
我使用它模拟了一个带有数据的演示树列表:
var employees = new List<Employee>
{
new Employee
{
Id = 1,
ParentId = 0,
Name = "A",
Designation = "CEO",
Reportees = new List<Employee>
{
new Employee { Id = 2, ParentId = 1,Name = "B",Designation = "Manager",Reportees = new List<Employee>
{
new Employee { Id = 4, ParentId = 2, Name = …Run Code Online (Sandbox Code Playgroud)