给定以下模型
public class RequestBase
{
public DateTime TransactionTimestamp { get; set; }
public Guid RequestMessageId { get; set; }
}
[ModelBinder(typeof(RequestBaseModelBinder))]
public class StandardRequest : RequestBase
{
public Guid MyGuidId { get; set; }
public int MyIntId { get; set; }
}
中的值RequestBase
是通过标头发送的,因此我正在尝试实现自定义模型绑定器以将它们绑定到模型
这是我到目前为止所拥有的
public class RequestBaseModelBinder :IModelBinder
{
public bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext)
{
var requestBase = bindingContext.Model as RequestBase;
if (requestBase != null)
{
requestBase.RequestMessageId =
Guid.Parse(actionContext.Request.Headers.GetValues("RequestMessageId").FirstOrDefault());
requestBase.TransactionTimestamp =
DateTime.Parse(actionContext.Request.Headers.GetValues("TransactionTimestamp").FirstOrDefault());
return true;
}
return false;
}
}
它目前不工作,因为它bindingContext.Model
是空的