我以前的。NET Core2 web api项目使用newtonsoft将datatable序列化到json,然后我将其作为json ie传递回前端(angular)站点,使用如下内容:
public IActionResult Countries_Get()
,查询sql server数据库并填充新的sql datatable iedatatable dtCountries=clsdb.execute_to_DataTable(“selCountries”,lstDBParams,Request);
。返回Ok(dtCountries);
上面的代码不再适用于。NET 5.0项目(新启动),错误为System.NotSupportedException:不支持“System.Type”实例的序列化和反序列化,应该避免,因为它们可能导致安全问题。路径:$.columns.datatype.
我读到这是微软设计的,因为使用新的System.text.json命名空间是不安全的,所以我真的想用正确的方式来实现它,但是经过几个小时的搜索还是没有找到答案。
有人可以请建议如何做上述做相同的事情,原来的应用程序。
干杯
您似乎希望直接返回一个DataTable作为结果。的确,这会导致安全问题。
你试过做一个中间映射吗?
将DataTable属性放入一个新类中,然后返回这个新类作为结果。