最近將公司的項目用.netcore重寫, 服務的http外部介面部分收發消息是DES加解密的, 那麼在asp.net core mvc的action處理之前需要加入解密這個步驟. 我第一想到的是用filter的方法來做, 找到了ActionFilter, 重寫了OnActionExecuting方法 ...
最近將公司的項目用.netcore重寫, 服務的http外部介面部分收發消息是DES加解密的, 那麼在asp.net core mvc的action處理之前需要加入解密這個步驟.
我第一想到的是用filter的方法來做, 找到了ActionFilter, 重寫了OnActionExecuting方法, 確實成功在action執行前攔截了下來, 但是request卻是只讀的.
這其實可以理解, 因為mvc已經做好了request的form\querystring之類的讀取, 再做修改肯定不合適.
那麼只能在每個action函數第一行加一個解密方法的調用了嗎?
等等, 這有點像mvc的model binding.
於是我查看了asp.net core mvc 自定義model binding的方法, 重寫之後, 在action的函數參數聲明處使用自定義的model即可.
相關鏈接:
https://docs.microsoft.com/en-us/aspnet/core/mvc/advanced/custom-model-binding