作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
当我将函数转移到 .net5 时,我面临这样一个事实:在 3.1 上运行良好的 POCO 绑定(bind)由于某种原因不再适用于 .net 5。他们说它可能会在某个时候实现,但由于某些原因我现在需要它。试图找到一些古怪的方法来实现这一点,但失败了。我最好的想法是在我的 DTO 对象中实现显式运算符,它将把 HttpRequestData 转换为它的类型,但问题是 HttpRequestData 是一个抽象类型,它的具体实现类型是内部的。之后,我尝试使用反射将输入参数转换为中间件中的 HttpRequestData,但参数存储在不可变的 IReadOnlyDictionary 中。所以我现在没有主意了。也许有人找到了解决方法并可以分享,我们将不胜感激。
最佳答案
我想您正在使用“dotnet-isolated”模式(在 .NET 5 上运行的唯一方法)。我也在尝试找到一个更优雅的解决方案。
同时,我所做的就是在函数内部自行反序列化数据。
var body = await new StreamReader(request.Body).ReadToEndAsync();
var myobject = JsonSerializer.Deserialize<MyPocoClass>(json);
我真的更喜欢运行时自己完成它,但我还没有找到方法。我在某处读到可以创建我们自己的绑定(bind)代码,但我还没有尝试过。
我注意到我可以绑定(bind)到 json 负载的各个属性,但不能绑定(bind)到对象......
我希望它能出现在 Azure Functions v4 + .NET6 中,因为它即将到来。
关于Azure 函数.Net 5 : Is it possible to implement POCO binding somehow?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69708217/
我是一名优秀的程序员,十分优秀!