我有接收加密请求和加密的响应一旦完成一个旧的API。 我试图在此切换到mvc4的WebAPI,它已经顺利,直到我打这个加密。 我需要的是,当谈到在这样的MVC将正确作用于它来解密请求的方式。 此外,一旦该过程完成加密发送之前的响应。 我不希望把加密部分的每个动作。
注意:身体还在正确格式化为一个单一的项目,所以我会推动这一切通过与我自己的选择一个动作,而是希望有一个更适当的休息风格的实现。
我有接收加密请求和加密的响应一旦完成一个旧的API。 我试图在此切换到mvc4的WebAPI,它已经顺利,直到我打这个加密。 我需要的是,当谈到在这样的MVC将正确作用于它来解密请求的方式。 此外,一旦该过程完成加密发送之前的响应。 我不希望把加密部分的每个动作。
注意:身体还在正确格式化为一个单一的项目,所以我会推动这一切通过与我自己的选择一个动作,而是希望有一个更适当的休息风格的实现。
你应该能够用了MessageHandler做到这一点。 有一堆的如何创建MessageHandlers例子WebAPIContrib
你可以实现你自己的模型绑定
public class DecObjModelBinder : IModelBinder
{
public object BindModel(ControllerContext controllerContext,
ModelBindingContext bindingContext)
{
//make a instance of your object
var myObj = new DecObj()
//bind the properties from my obj
myObj.Title= bindingContext
.ValueProvider
.GetValue("Title") // The Property name sent from the browser
.ToString();
/* then the property you want to decrypt */
var encBody = bindingContext
.ValueProvider
.GetValue("EncBody") // The Property name sent from the browser
.ToString();
/* decryption logic here to the encBody then after assign the decrypted value to myObj*/
return myObj;
}
然后您注册ModelBinder
中的Application_Start通过在Global.asx: ModelBinders.Binders.Add(typeof(DecObj), new DecObjModelBinder());