1
给出以下车型自定义模型绑定在网络API基类
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
工作为空