小编Sur*_*air的帖子

从 C# 发送 WhatsApp 消息

我试图使用控制台应用程序发送 WhatsApp 消息,我在互联网上进行的所有搜索都将我带到了 NuGet WhatsAppAPI。我了解这是因为这不是官方客户端 WhatsApp 目前已将其阻止。

我们还有其他方法来实现相同的目标吗?

.net c# whatsapp

4
推荐指数
2
解决办法
3万
查看次数

如何使用操作过滤器更改输入参数

的背景:

我正在尝试修复潜在的安全问题,以删除作为字符串参数注入到我的 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 中完成的参数更改似乎没有反映出来。有人可以指导我做错了什么吗?

c# linq action-filter asp.net-web-api

4
推荐指数
1
解决办法
3405
查看次数

使用 LINQ 过滤树列表保留父级

我有一个看起来像这样的模型类:

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)

c# linq

1
推荐指数
1
解决办法
100
查看次数

标签 统计

c# ×3

linq ×2

.net ×1

action-filter ×1

asp.net-web-api ×1

whatsapp ×1