Asp.net MVC WebApi Response AOP

WebApi项目需要在输出Json时对Json进行编码处理。考虑使用MVC 的AOP

查阅文档需要HttpMessageHandle

新建类CryptDelegatingHandler

 public class CryptDelegatingHandler:DelegatingHandler
    {
        protected async override Task SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            var response = await base.SendAsync(request, cancellationToken);
            bool jsonNeedCrypt =Convert.ToBoolean(FastFoodMvcApi.Common.ConfigList.GetValueFromConfig("JsonNeedCrypt"));
            if (jsonNeedCrypt)
                response.Content =new StringContent(JsonCrypt.EncryptJsonString(response.Content.ReadAsStringAsync().Result));
            //解密测试
            //Console.Write(JsonCrypt.DecryptJsonString(response.Content.ReadAsStringAsync().Result));
            return response;
        }
    }

 

加入WebApiConfig中

Register

config.MessageHandlers.Add(new CryptDelegatingHandler());

 

 

详细原理转http://www.cnblogs.com/r01cn/archive/2012/12/07/2807059.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值