找回密码
 立即注册

QQ登录

只需一步,快速开始

Eric.Liang 讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:2020-11-10 12:21  /   查看:3933  /  回复:0
最近客户找我看了这样一个问题,在新版本中,自己按照视频教程写的ServerAPI,前端无论通过JS请求还是POST数据命令插件都会提示customapi找不到。 image.png740263976.png
image.png67584837.png
这个问题也是搞的我们焦头烂额,代码编译不会报错,打断点都不会进入,老版本可以正常执行,这一系列的排查,让我们也进入了一个死胡同,在排查了很久之后,发现了这样一个问题

出现问题的原因
出于业务需求,有的时候需要在C#代码中去进行JSON字符串和对象之间的序列化与反序列化的操作;
但是由于个人喜好原因,有的客户喜欢使用如下代码去序列化对象返回字符串
  1. javaScriptSerializer.Serialize(list)
复制代码

这时候就存在了一些小问题,javaScriptSerializer这个方法在.NET Core 3.1下并不支持,因为类库是以.NET FrameWork创建的,所以编译不会有问题,但是实际在执行的时候由于方法找不到,前端在调用的时候就会直接崩溃,提示serverAPI找不到。

解决方案
将.NET Core不支持的方法替换掉,使用Newtonsoft下的序列化和反序列化方法
引用Newtonsoft.Json.dll,用JsonConvert.SerializeObject(arrayList)来实现序列化
image.png720686340.png

image.png994591979.png

修改之后重新编译上传设计器,即可正常使用。如果还是一样的报错,那说明你的C#代码中还有其他的方法也存在这样的问题
这个就需要你仔细的来检查,你引用的哪些方法在.NET Core中不支持

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部