我在自定义JsonConvert.SerializeObject
中使用ActionFilterAttribute
在OnActionExecuting
内部,我将序列化filterContext.ActionParameters
用于记录目的
问题是某些操作是通过System.Web.HttpPostedFileWrapper
通过<from/>
接收文件(enctype="multipart/form-data"
),因此我收到了错误
此流不支持超时。
我想要做的是忽略这些无法序列化且可能出错的对象。
我发现我可以忽略具有class
或Properties
属性的[JsonIgnore]
[ScriptIgnore]
,但我正在寻找更通用的解决方案,因为我不会想要将这些属性放在所有地方
我还尝试研究JsonSerializerSettings
对象,但没有找到与我的案例相关的内容。
答案 0 :(得分:0)
您只需过滤这些参数即可。有些想法:
var ToBeSerialized = filterContext.ActionParameters.Where(a=>a.Value.GetType()!=typeof(TheTypeYouWantToAvoid));
string result = JsonConvert.SerializeObject(ToBeSerialized);