Asp.net mvc 4 MVC4 Mailgun交付的webhook

Asp.net mvc 4 MVC4 Mailgun交付的webhook,asp.net-mvc-4,model-binding,webhooks,mailgun,Asp.net Mvc 4,Model Binding,Webhooks,Mailgun,我在使用Mailgun交付的webhook时遇到了一个问题,可以在这里找到:,查找“交付的事件webhook” 除非我将应用程序的requestValidationMode修改为2.0,否则无法引用Request.Params[“Message Id”] 在没有requestValidationMode=2.0的情况下尝试引用此字段时,我确实会遇到潜在的不安全错误。该字段的内容为:。我还尝试声明一个模型以利用自动模型绑定。我的模型如下所示: public class MailgunDeliver

我在使用Mailgun交付的webhook时遇到了一个问题,可以在这里找到:,查找“交付的事件webhook”

除非我将应用程序的requestValidationMode修改为2.0,否则无法引用Request.Params[“Message Id”]

在没有requestValidationMode=2.0的情况下尝试引用此字段时,我确实会遇到潜在的不安全错误。该字段的内容为:。我还尝试声明一个模型以利用自动模型绑定。我的模型如下所示:

public class MailgunDeliveredEvent
{
    public string Id { get; set; }
    public string Event { get; set; }
    public string Recipient { get; set; }
    public string Domain { get; set; }

    [AllowHtml]
    [JsonProperty(PropertyName="Message-Id")]
    public object MessageId { get; set; }

    public int Timestamp { get; set; }
    public string Token { get; set; }
    public string Signature { get; set; }        
}
当我尝试引用MessageId字段时,它返回null。我试着补充一下

[Bind(Exclude="message-headers")]
因为我对那个领域不感兴趣。 在控制器中,我设置了

[ValidateInput(false)]

我似乎无法取回消息Id字段。有什么帮助吗?

我似乎已经让它工作了,以防有人遇到同样的问题

我添加了一个新的模型活页夹,如下所述:

然后我改变了我的模型,如下所示:

[ModelBinder(typeof(DefaultModelBinderEx))]
public class MailgunDeliveredEvent
{
    public string Id { get; set; }
    public string Event { get; set; }
    public string Recipient { get; set; }
    public string Domain { get; set; }

    [BindAlias("Message-Id")]
    public string MessageId { get; set; }

    public int Timestamp { get; set; }
    public string Token { get; set; }
    public string Signature { get; set; }        
}
一切似乎都很顺利,我不需要打电话

[ValidateInput(false)]
在控制器上

希望这能帮助别人