.net core平台使用遇到的坑

楼主在将网站从.net转移到.net core平台时遇到的一些坑记录下来,本篇文章会持续更新

1、在.net core WebAPI接口中,解析外部post请求参数时,使用到Stream从流中读取Body参数,有并发请求时,个别请求会丢掉请求参数,导致接口请求失败,经过好几天调试终于发现问题问题如下图:

.net core平台使用遇到的坑_第1张图片

这段代码在继承了IModelBinder类的BindModelAsync方法中,问题就出在图中CopyToAsync方法,由于BindModelAsync方法是多线程但并非异步方法,导航到定义如下图:

.net core平台使用遇到的坑_第2张图片

所以这里改为CopyTo方法问题就解决了,正确代码如下图

.net core平台使用遇到的坑_第3张图片

2、最近在将.net平台的文件服务器代码转移到core平台遇到一个问题,之前在.net平台返回FilePathResult自动打开虚拟目录图片或文件,在coe平台使用FilePathResult一直报找不到对应路径的文件,后来发现core平台提供了另外一个类PhysicalFileResult

.net平台代码如下:

.net core平台使用遇到的坑_第4张图片

core平台代码如下:

.net core平台使用遇到的坑_第5张图片

在使用PhysicalFile对象是需要传入文件绝对路径,改完就一切正常。

转载于:https://www.cnblogs.com/hsb-comfort/p/10298962.html

你可能感兴趣的:(.net core平台使用遇到的坑)