我试图使用mailgun webhook数据,但它们的事件数据作为"事件数据"发送

https://documentation.mailgun.com/en/latest/user_manual.html#webhooks-1

所以我看到其他帖子中有JsConfig的东西来全局改变SS的行为(宽容属性?)但我不能从根本上做到这一点.如果我要使用Lenient,它只需要为这项服务,理想的情况下,这一特定的请求后eh.我们正在使用的系统在核心级别实现ServiceStack,因此我们try 的任何JsConfigtry 似乎都会随机 destruct CMS中的内容.但我确实使用并更喜欢SS作为定制服务路由.

我如何让SS在本地处理这个事件数据(事件数据)?

    [Route("/mailgun/webhook")]
    public class MailgunWebhookListenerRequest : IReturn<string>
    {
        public MailgunWebhookSignature Signature { get; set; }
        public List<Dictionary<string, string>> EventData { get; set; } = new List<Dictionary<string, string>>();
    }
{
    "signature":
    {
        "timestamp": "1529006854",
        "token": "a8ce0edb2dd8301dee6c2405235584e45aa91d1e9f979f3de0",
        "signature": "d2271d12299f6592d9d44cd9d250f0704e4674c30d79d07c47a66f95ce71cf55"
    },
    "event-data":
    {
        "event": "opened",
        "timestamp": 1529006854.329574,
        "id": "DACSsAdVSeGpLid7TN03WA"
    }
}

推荐答案

您可以使用.NET的DataContract属性来自定义序列化,例如:

[DataContract]
public class MailgunWebhookListenerRequest : IReturn<string>
{
    [DataMember]
    public MailgunWebhookSignature Signature { get; set; }

    [DataMember(Name="event-data")]
    public List<Dictionary<string, string>> EventData { get; set; }
}

Asp.net相关问答推荐

如何处理当前文件中基本文件中的S onClick方法

使用进程外会话状态的 ASP.NET 应用程序中的 SQL Server 连接问题

asp.net、url 重写模块和 web.config

判断 asp.net mvc 4 应用程序中的 ssl 协议、密码和其他属性

如何使用 javascript 获取 MVC 应用程序的基本 URL

如何使用 javascript 调用 ASP.NET c# 方法

如何在同一解决方案中从 MVC 项目调试 Web API 项目

VirtualPath 在当前应用程序根目录之外

Asp.net Identity 密码哈希

如何将图像 url 转换为 system.drawing.image

使用 jQuery 调用 ASP.NET PageMethod/WebMethod - 返回整个页面

ASP.net 中是否有 after Page_Load 事件

InvalidOperationException:无法为角色创建 DbSet,因为此类型未包含在上下文模型中

覆盖静态方法

投票有什么问题?

避免将重复元素添加到列表 C#

压力测试 ASP.Net 应用程序

ASP.NET MVC 和 httpRuntime executionTimeout

重新生成designer.cs

中继器中的中继器